当没有数据可用时,返回空的JSON结构是否合适?我觉得它有些含糊不清。
我有一个服务器端接口,允许客户端请求有关特定股票代码的一些信息,并且信息(例如股票报价)作为JSON返回。客户将使用例如
$.getJSON( "http://some.url/stock.json?ticker=MSFT", function( data ) { ...
获取有关Microsoft股票的信息。
现在,如果我没有关于特定股票的信息怎么办?返回空的JSON结构是否更清晰,还是应该是HTTP 404?如果我返回一个空的JSON,是否意味着根本没有这样的自动收报机,例如客户请求http://some.url/stock.json?ticker=ANOTHERMSFT
,或者只是没有特定股票的数据?我是实施客户的人,所以这并不重要;只是好奇,什么是更好的方法和原因。
答案 0 :(得分:2)
在设计HTTP API时我遇到了类似的问题,所以我感到很痛苦,没有正确的答案。由您来决定这些主观的API设计决策。
我的0.02美元:您的网址结构不是非常安静;我会使用像http://some.url/stock/tickers/MSFT
这样的东西。然后,或许更自然地,404意味着没有这样的股票代码存在,而空对象/数组意味着没有该股票代码的数据。