调用仅返回单个整数的 Web API REST 服务的“正确”方法是什么?
我对 XML、JSON 或其他任何内容没有任何要求。对服务的调用只需要返回一个整数。
我是否使用ResponseType
属性在这里?
我的服务返回类型为HttpResponseMessage
,对于诸如返回 JSON 之类的服务,我会将其 Content 属性设置为StringContent
与 UTF8“application/json”。
但对于单个整数来说,什么才是正确的呢?
我建议您对 API 方法使用 IHttpActionResult 类型。它将允许您使用几种不同的便捷方法来返回常见响应。在你的情况下,它看起来就像这样:
public IHttpActionResult GetInteger() {
// Ok is a convenience method for returning a 200 Ok response
return Ok(1);
}
或者,如果您想将其包装在一个对象中返回以方便 JSON 消耗,则可以使用匿名对象:
public IHttpActionResult GetInteger() {
// Ok is a convenience method for returning a 200 Ok response
return Ok(new {
value = 1
});
}
文档在这里 http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/action-results
从文档中总结了您使用 IHttpActionResult 的一些原因:
- 简化控制器的单元测试。
- 将创建 HTTP 响应的通用逻辑移至单独的类中。
- 通过隐藏构建响应的低级细节,使控制器操作的意图更加清晰。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)