0

我有一个基于 MVC5 和 WebApi 的系统。我想创建一个新的控制器。它的功能是返回 API 类型数据以响应 REST 请求。它还需要能够作为后端响应带有按钮的页面,其中按钮用于运行一些快速过程以将数据移动到表格中。

我知道我可能需要一个 WebAPI 控制器来处理 REST 请求,但是我错过了传统 MVC 控制器附带的哪些功能?

4

2 回答 2

2

ApiController可以返回HttpResponseMessage与 RFC2616 定义的 HTTP 响应直接相关的 a。

它可以有一个包含任何内容的有效负载,HTML、XML、JSON、Atom、jpeg 等。

HTTP 规范中没有任何内容是您不能使用 ApiController 返回的。

微软在返回“数据”和“视图”之间做出的区分是由产品放置而不是任何技术限制所驱动的。

于 2013-11-05T12:33:56.563 回答
1

基本上是渲染页面的功能,使用 api 控制器你只能返回数据:

注意 如果您使用过 ASP.NET MVC,那么您已经熟悉控制器。它们在 Web API 中的工作方式类似,但 Web API 中的控制器派生自 ApiController 类而不是 Controller 类。您会注意到的第一个主要区别是 Web API 控制器上的操作不返回视图,而是返回数据。

资源

因此,如果您要导航到 api 控制器的 url,它只会以特定格式(如 Json)显示一些数据。如果您要导航到常规控制器的 url,它将返回一个视图,您将在浏览器中将其视为 html 页面。

于 2013-11-05T12:23:13.420 回答