2013-10-08 1 views
0

데이터가 없으면 빈 JSON 구조를 반환하는 것이 적절합니까? 나는 그것이 약간 애매하다고 느낀다.데이터가 없으면 반환 할 JSON은 무엇입니까?

고객이 특정 주식 시세 표시기에 대한 정보를 요청할 수있는 서버 측 인터페이스가 있으며 정보 (예 : 주식 시세)가 JSON으로 반환됩니다. 클라이언트는 예를 들어

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

Microsoft 주식에 대한 정보를 얻으려면.

이제 특정 주식에 대한 정보가 없으면 어떻게 될까요? 비어있는 JSON 구조체를 반환하는 것이 더 깨끗한가, 아니면 HTTP 404 여야 하는가? 비어있는 JSON을 반환하면 예를 들어 JSON이없는 경우 JSON이 전혀 표시되지 않는 것입니까? 클라이언트가 http://some.url/stock.json?ticker=ANOTHERMSFT을 요청 했습니까? 아니면 특정 시세 표시기에 대한 데이터가 없습니다. 나는 클라이언트를 구현하는 사람이기 때문에별로 중요하지 않다. 궁금한 점, 더 나은 접근 방식과 이유는 무엇입니까?

+0

[REST API 404 : URI가 없거나 누락 된 리소스가 있습니까?] (http://stackoverflow.com/questions/9930695/rest-api-404-bad-uri-or- 누락 된 자원) – osa

답변

2

HTTP API를 설계 할 때 유사한 질문이 많이 발생하므로 통증을 느끼기 때문에 정답은 없습니다. 이러한 주관적인 API 디자인 결정을 내리는 것은 당신에게 달려 있습니다.

내 $ 0.02 : 귀하의 URL 구조는별로 안심할 수 없습니다. 나는 http://some.url/stock/tickers/MSFT과 같은 것을 사용할 것입니다. 그런 다음, 아마도 더 자연스럽게 404는 빈 표식/배열이 해당 시세 표시기에 대한 데이터가 없다는 것을 의미하는 반면, 그러한 표식은 존재하지 않는다는 것을 의미합니다.

관련 문제