我正在构建一个客户端脚本繁重的ASP.NETMVC应用程序,它将使用JSON和jQuery来操作DOM.
My understanding is both Web API Controller and MVC Controller can return JSON.
考虑到我的情况,我应该用Web API Controller还是MVC Controller?
我正在构建一个客户端脚本繁重的ASP.NETMVC应用程序,它将使用JSON和jQuery来操作DOM.
My understanding is both Web API Controller and MVC Controller can return JSON.
考虑到我的情况,我应该用Web API Controller还是MVC Controller?
Web API控制器可以在任何ASP中创建和托管.NET应用程序,而不仅仅是MVC应用程序.因此,创建Web API的一个明显原因是,如果您没有MVC前端(例如,公司/组织托管的classic RESTful Web服务)
MVC控制器通常依赖于MVC框架,如果您查看默认模板以及社区和您的同行所做的大部分工作,您会注意到几乎所有MVC控制器的实现都考虑了视图.
就我个人而言,当我打算用View()响应时,我会使用MVC控制器,对于任何不依赖于特定视图的东西,我都会使用Web API.
当然,有一些警告,但一般来说,如果您不需要MVC的模型绑定行为,您的服务以数据为中心,操作以数据为中心(例如CRUD操作),那么您可能需要一个"Web API控制器"而不是"模型视图控制器".相反,如果您的操作是以视图为中心的(例如,向用户提供一个用户管理页面),或者您需要MVC的模型绑定来生成"ajax部分"(不太可能),那么您将需要一个MVC控制器.
Personally, I use Web API controllers for driving JSON-based RESTful clients, I use MVC controllers for handling basic browser routing and delivery of the SPA.