3

我是 ASP.NET Web API 的新手,我发现它有一个非常烦人的限制。它只支持一个参数来发布方法。(在这里阅读更多:使用 jQuery 将 [FromBody] 参数发布到 Web API

从那个链接来看,他们似乎是这样设计的。有这样奇怪的限制对我来说没有任何意义。

如果有人知道为什么要这样设计,请告诉我。

4

2 回答 2

3

这就是 HTTP 的工作方式。HTTP POST 发送一个正文。作为一个 web api,该 body 代表正在发布的资源对象。

POST 中的“对象”可以是具有许多属性的复杂对象,因此您可以创建一个包装对象来表示资源。它也可以是作为资源集合的对象数组。

附带说明一下,如果您正在设计 RESTful Web api,那么最好将单个资源或资源(对象)数组发布到代表资源集合的端点。例如,我将一个学生发布到 /api/students,它会添加该学生。

于 2013-10-17T10:45:30.497 回答
2

你可以有很多参数,但你只能有一个[FromBody],这是因为一条 HTTP 消息只能有一个正文。您可以将任意数量的参数映射到查询字符串上的参数。

于 2013-10-17T10:46:38.423 回答