我已经开始使用[ResponseType]
属性装饰我的IHttpActionResult
方法,目的是让消费者更容易知道如何处理响应。哪个ResponseType应该用于PUT或POST请求的IHttpActionResult?
这对GET有意义,因为我可能会想要对返回的数据做些什么。
但是[ResponseType]
对PUT或POST请求有任何意义,它们不返回任何数据,只是成功的代码?
例如
[HttpPut]
[Route("Contact/{contactId:int}/name", Name = "UpdateContactName")]
[ResponseType(typeof(?????))] // <- what should I put here? do I even need it at all?
public IHttpActionResult UpdateName(int contactId, [FromBody] string name)
{
//...
return StatusCode(HttpStatusCode.Accepted);
}
但是,如果方法失败,为什么你会返回OK?现在客户端也需要检查HTTP状态码和内容。对不起,但我不认为这是有道理的。 – demoncodemonkey
如果你多留心我说看我的回答:“我会回来‘像’好吧(真),这表示你可以根据你的操作是成功还是失败的其它响应类型。我编辑的代码,虽然涵盖了这一点。整点是客户端需要通知他/她的请求的操作。 – MHOOS