我已经开始使用IHttpActionResult属性装饰[ResponseType]方法,目的是使消费者更容易知道如何处理响应。

对于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);
}

最佳答案

事实证明,[ResponseType] 确实使在不返回数据的 Controller 方法上有意义。

您可以使用void类型来确保WebApi帮助文件不会为这些方法显示“样本不可用”消息。

IE。

[ResponseType(typeof(void))]

10-08 08:41