我刚接触 ASP.NET MVC 和 Web API,正在尝试了解基本知识。据我所知,我们在VS 2013中有项目模板,命名为MVC
、Web API
和两者结合
。
我已经阅读了教程,并学到我们可以使用单独的MVC或与Web API模板一起创建API。
那么,基于架构和用法,它们之间有什么区别呢?
我刚接触 ASP.NET MVC 和 Web API,正在尝试了解基本知识。据我所知,我们在VS 2013中有项目模板,命名为MVC
、Web API
和两者结合
。
我已经阅读了教程,并学到我们可以使用单独的MVC或与Web API模板一起创建API。
那么,基于架构和用法,它们之间有什么区别呢?
Web API
控制器是一个 MVC
控制器,它使用 HttpMessageResponse
作为其响应的基本类型,而不是 ActionResponse
。在其他方面它们大致相同。项目类型之间的主要区别在于 MVC 应用程序
项目类型添加了特定于 Web 的内容,例如默认的 CSS
、JavaScript
文件和其他网站所需资源,而这些对于 API 不需要。vNext
。ApiController
类集成到 Controller
类中。更多细节请参见:https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6。我个人的观点是...
Controller
决定了应该显示什么View
- 即,当用户发出请求时,控制器基于当前情景或上下文决定用户应该“看到”什么。ASPX
页面决定了用户发出请求时应该显示什么。Web API不是只与网站相关的技术。它可用于多种目的 - 不仅限于网站。因此,它不知道rendering
的含义。
更多阅读
MVC控制器派生自控制器类。在Mvc中,您可以返回视图。Mvc架构用于创建应用程序。但是Web API用于向各种应用程序提供数据。
Web Api从Api控制器驱动,不返回视图。
注意:您还可以从MVC控制器创建Web Api,但需要将结果作为JsonResult或其他Web Api支持的返回类型返回。