为什么我无法直接从ApiController
创建视图?
Controller
和ApiController
都只是接收和提供数据,为什么我的ApiController
只能输出和接收格式化为View的数据?
答案 0 :(得分:4)
好吧,actually it can
。您可以使用RazorViewEngine
构建自定义媒体类型格式化程序,它将模型传递给Razor视图。
不幸的是,微软在使Web Api控制器必须从与标准MVC控制器不同的基类派生时做了相当糟糕的工作。希望在未来的版本中,他们将修复此设计。
作为替代方案,您可以查看ServcieStack
,它为您提供了一个非常好的界面来构建RESTful API,它可以从单个服务呈现任何类型的资源,包括HTML视图。