调用在asp.net Web API中的同一行创建的两个HttpStatusCode

本文关键字:创建 一行 HttpStatusCode 两个 API Web asp 调用 net | 更新日期: 2023-09-27 18:21:49

在Controller.cs中的POST方法中,到目前为止,我只向数据库中写入了一个值,所以最后我用以下代码返回了响应的状态:

var response = Request.CreateResponse<object>(HttpStatusCode.Created, iconOffset);
return response;

但现在,我正在向数据库中写入两个值,并且我希望在POST方法结束时返回这两个值的状态,我该如何做到这一点?我尝试了以下方法:

var response = Request.CreateResponse<object>(HttpStatusCode.Created, HttpStatusCode.Created, iconOffset, tempOffset);
return response;

但没用。

调用在asp.net Web API中的同一行创建的两个HttpStatusCode

您不会向浏览器返回多个http状态代码。

你提出了一个请求,你得到了一个响应——该响应要么是OK,要么是另一个状态代码,没有多个响应代码的概念。

如果您需要详细说明您的响应,请返回一个model以及您对使用端点的任何内容的状态,例如:

return Request.CreateResponse(HttpStatusCode.OK, new DatabaseUpdateResult(results));

如果您的应用程序可以接受/返回json,那么客户端就可以使用它。

你不能那样做。响应代码是HTTP响应代码,并且只有一个。您可以将方法拆分为两个端点,也可以返回表示操作状态的状态。

你的客户端应该不知道服务(数据库、服务…)背后发生了什么,所以如果你向该端点发布了一些东西,并且在语义上创建了它,只需返回created。如果发生错误,您可能会返回InternalServerError。

以下是您可以使用的HTTP状态代码列表:http://en.wikipedia.org/wiki/List_of_HTTP_status_codes