1
我有以下Api Controller
:的ASP.NET Web API设置自定义状态代码
[HttpPost]
public User Create(User user)
{
User user = _domain.CreateUser(user);
//set location header to /api/users/{id}
//set status code to 201
//return the created user
}
好像我们不得不依靠Request.CreateResponse(..)
和更改控制器的签名,以返回IHttpActionResult
。
我不想更改方法签名,因为它对于文档目的非常有用。我能够使用HttpContext.Current.Response...
添加Location
标题,但无法设置状态码。
有人对此有更好的想法吗?
这不是一个很好的答案。它不应该得到一个downvote,因为它的确如它所说的那样,但抛出异常来获得期望的行为在这里是很方便的。 – 2015-11-13 08:32:23
使用例外来表示正常结果不是合理的答案。 – 2016-08-25 03:19:33
从这两篇文章中,www.asp.net推荐的方法是设置特定的状态码并返回一个自定义对象。 – Nhan 2017-10-05 00:47:37