【发布时间】:2014-05-25 19:31:39
【问题描述】:
我有一个 Web API 项目,并且我的方法总是返回 HttpResponseMessage。
所以,如果成功或失败,我会返回:
没有错误:
return Request.CreateResponse(HttpStatusCode.OK,"File was processed.");
任何错误或失败
return Request.CreateResponse(HttpStatusCode.NoContent, "The file has no content or rows to process.");
当我返回一个对象时,我会使用:
return Request.CreateResponse(HttpStatusCode.OK, user);
我想知道如何将更好的封装响应返回给我的 HTML5 客户端,以便返回有关交易等的更多信息。
我正在考虑创建一个自定义类,它可以封装 HttpResponseMessage 但也有更多数据。
有没有人实现过类似的东西?
【问题讨论】:
-
您不应在 HttpStatusCode.NoContent 中使用任何内容。
-
一般来说,如果你返回一个带有
HttpStatusCode.NoContent的HttpActionResult,它会 - 令人惊讶 - 不返回任何内容,即使你在上面的例子中传递了一个字符串。可能是一个令人惊讶的错误。就像下面用户 BigTone 的回答一样。根据规范httpstatuses.com/204A 204 response is terminated by the first empty line after the header fields because it cannot contain a message body.,这也是有道理的
标签: c# asp.net-mvc json asp.net-web-api httpresponse