且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ASP.NET WebApi 与 MVC?

更新时间:2023-02-25 18:09:23

WebApi 允许创建可以通过 HTTP 而不是通过正式服务(如 WCF 或 SOAP)公开的服务.另一个区别在于 WebApi 如何使用 Http 协议并使其成为真正的一流 Http 公民.

更新: ASP.NET Core、Web API 已集成到 MVC 项目类型中.ApiController 类合并到 Controller 类中.更多信息:

With ASP.NET MVC controllers you can expose your data in different formats. AspNetWebAPI is designed explicitly for creating API's but I can easily do that with MVC controllers, is not clear to me in what cases it would be better than traditional MVC controllers. I'm interested in scenarios where the benefits of WebApi are obvious and it would be worthy to add another complexity layer to my applications.

Question: what are the advantages and/or disadvantages of using asp.net WebApi in respect to MVC ?

WebApi allows to create services that can be exposed over HTTP rather than through a formal service such as WCF or SOAP. Another difference is in the way how WebApi uses Http protocol and makes it truly First class Http citizen.

UPDATE: The ASP.NET Core, Web API has been integrated into MVC project type. The ApiController class is consolidated into the Controller class. More at: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6

A relevant link of comparison, discussions & tutorials: