如果没有数据可以返回什么JSON?

时间:2013-10-08 16:32:43

标签: json api http-status-code-404

当没有数据可用时,返回空的JSON结构是否合适?我觉得它有些含糊不清。

我有一个服务器端接口,允许客户端请求有关特定股票代码的一些信息,并且信息(例如股票报价)作为JSON返回。客户将使用例如

$.getJSON( "http://some.url/stock.json?ticker=MSFT", function( data ) { ...

获取有关Microsoft股票的信息。

现在,如果我没有关于特定股票的信息怎么办?返回空的JSON结构是否更清晰,还是应该是HTTP 404?如果我返回一个空的JSON,是否意味着根本没有这样的自动收报机,例如客户请求http://some.url/stock.json?ticker=ANOTHERMSFT,或者只是没有特定股票的数据?我是实施客户的人,所以这并不重要;只是好奇,什么是更好的方法和原因。

1 个答案:

答案 0 :(得分:2)

在设计HTTP API时我遇到了类似的问题,所以我感到很痛苦,没有正确的答案。由您来决定这些主观的API设计决策。

我的0.02美元:您的网址结构不是非常安静;我会使用像http://some.url/stock/tickers/MSFT这样的东西。然后,或许更自然地,404意味着没有这样的股票代码存在,而空对象/数组意味着没有该股票代码的数据。