通过HttpResponse传递布尔值true或false的最合适(也是最优雅的?)方法是什么。我需要它作为GetCustomerExist方法(使用ASP.NET Web API)。我把它写在消息的正文中,但觉得这不是正确的方式。我能把它以某种方式传递到响应标头中吗?
与其创建一个检查客户存在的方法,不如向客户资源发送一个HEAD
请求。如果客户不存在,则用404 Not Found
回答,否则用200 OK
回答。在HEAD
请求中,您不必提供消息正文。
在一个快速的示例中,我能够像这样在WebAPI中实现这一点。在样本中,奇数id确实存在,偶数id返回404。此外,我在响应中添加了一个幻想标头值:
public HttpResponseMessage Head(int id)
{
HttpResponseMessage msg;
if (id % 2 == 0)
msg = new HttpResponseMessage(HttpStatusCode.NotFound);
else
msg = new HttpResponseMessage(HttpStatusCode.OK);
msg.Headers.Add("Hello", "World");
return msg;
}