什么是"正确"调用Web API REST服务只需返回一个整数的方法吗?
我在这里没有XML,JSON或其他任何要求。对服务的调用只需要返回一个整数。
我在这里使用ResponseType
属性吗?
我的服务返回类型为HttpResponseMessage
,对于返回JSON的服务,我会将其内容属性设置为StringContent
,使用UTF8" application / json"
但是单个整数的正确性是什么?
答案 0 :(得分:5)
我建议您为API方法使用IHttpActionResult类型。它允许您使用几种不同的便捷方法来返回常见响应。在你的情况下,它看起来像这样:
override func viewDidLoad() {
super.viewDidLoad()
let scene = StartScene(size: view.bounds.size)
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .ResizeFill
skView.presentScene(scene)
}
或者如果你想将它包装在一个对象中以便于JSON消费,那么匿名对象就可以了:
public IHttpActionResult GetInteger() {
// Ok is a convenience method for returning a 200 Ok response
return Ok(1);
}
从文档中总结出您使用IHttpActionResult的一些原因:
答案 1 :(得分:2)
那么,取决于你想要回复身体的样子。只是一个数字:
return Request.CreateResponse(HttpStatusCode.OK, "1");
包含数字的JSON对象:
var myNumber = new
{
theNumber = 1
};
return Request.CreateResponse(HttpStatusCode.OK, myNumber);
答案 2 :(得分:1)
您可以实施自己的HttpContent
类内容类型,该类别标记为abstract
。
StringContent
通过继承ByteArrayContent
来间接地从中获取。
一般来说,这取决于int
的真实“含义”。如果这是某种标识符,我会把它包装成某种对象。