【问题标题】:Difference between MVC Action Methods and Web API Action MethodsMVC 操作方法和 Web API 操作方法之间的区别
【发布时间】:2021-11-02 21:36:07
【问题描述】:

有人可以帮我解决以下问题吗?

MVC 动作方法和 Web API 动作方法的区别

我知道的唯一区别是两种方法的返回类型。

MVC Action 方法返回类型: ActionResult(它是抽象类)和所有派生类。

Web API action 方法返回类型: 空白 原始类型/复杂类型 HttpResponseMessage IHttpActionResult

欣赏这两者之间的进一步差异。谢谢。

【问题讨论】:

  • 这本质上是唯一的区别。嗯,你知道的,除了一种用于创建 Web API,另一种用于创建 Web 应用程序。
  • @RobertHarvey:感谢您的快速评论。但是,仍然检查 1-2 差异,如果有的话......
  • 如果您只是想了解为什么有两个不同的类别,那么您的观察已经足够了。如果您需要了解更多信息,我的 ASP.NET MVC 书籍长达一千页。所以也许你应该澄清你的问题。

标签: asp.net-mvc asp.net-web-api


【解决方案1】:

MVC 和 Web API 操作都可以返回 ActionResult 或 IActionResult 类型的对象。所以这不再是一个区别。 如果您仍在寻找一些差异,这里有一些差异:

  • 在 Web API 中,请求被映射到基于 HTTP 动词的操作。不适用于 MVC
  • 基于请求 Web API 中的 Accept 标头以请求的格式(例如 XML 或 JSON)返回数据
  • 使用 Web API,您可以创建基于 Dotnet 框架的 RESTful 服务。但不能使用 MVC
  • 使用 MVC,我们可以构建可以返回数据和视图的 Web 应用程序,但 Web API 仅用于发送数据

【讨论】:

    【解决方案2】:

    MVC 和 Web API 有很多不同之处,包括:

    我们可以使用 MVC 开发既作为数据又作为视图回复的 Web 应用程序,但 Web API 用于生成仅作为数据回复的 HTTP 服务。

    在 Web API 中,请求使用取决于 HTTP 服务的操作执行跟踪,但 MVC 请求使用操作名称执行跟踪。

    Web API 根据请求的接受头返回各种格式的数据,如 JSON、XML 等格式。但是MVC使用JSONResult返回JSON格式的数据。

    Web API 支持内容协商、自托管。 MVC 不支持所有这些。

    Web API 包括 MVC 的各种特性,例如路由、模型绑定,但这些特性是不同的,并且在“System.Web.Http”程序集中定义。 并且 MVC 特性是在“System.Web.Mvc”程序集中定义的。

    Web API 有助于通过 .Net 框架创建 RESTful 服务,但 MVC 不支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多