2013-10-08 3 views
0

Уместно ли возвращать пустую структуру JSON, когда данные недоступны? Я чувствую, что это немного неоднозначно.Что возвращает 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

Я действительно нашел аналогичную дискуссию: [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 означает, что такой тикер не существует, а пустой объект/массив означает, что для этого тикера нет данных.

Смежные вопросы