REST: отображение 404 кодов состояния HTTP - PullRequest
12 голосов
/ 03 декабря 2010

Наша команда разрабатывает приложения RESTFul ... мы обсуждаем подход "ЛУЧШАЯ ПРАКТИКА".

Следует ли возвращать ответ с кодом состояния 404 для запроса, подобного фильтру?Скажем, мой GET URL-адрес

... / 1 ​​/ service / setsWith / a.json

и возвращает все значения, которые начинаются с A в моей базе данных ... но если нет "a"найдены значения, если я просто верну код состояния 200 с пустой строкой json?или код состояния 404.

Спасибо!

Ответы [ 2 ]

15 голосов
/ 03 декабря 2010

См. этот вопрос, в обновлении моего ответа я рассмотрю вашу проблему. В частности, этот бит,

Я думаю, что ответ на вопрос возврат 404 зависит от того, что является ресурс, который извлекается. Является это представление поиска результат, или это представление товар? Чтобы знать это, вам действительно нужно посмотреть на связь ссылку, которая привела нам по URL.

Если URL должен возвращать Представление продукта тогда 404 должен быть возвращен, если код делает не существует. Если URL возвращает поиск результат, то он не должен возвращать 404.

Конечным результатом является то, что URL Похоже, не является определяющим фактор. Сказав это, это соглашение, что строки запроса используются вернуть результаты поиска, так что больше интуитивно понятен в использовании этого стиля URL когда вы не хотите возвращать 404 с.

3 голосов
/ 23 июля 2013

Может быть разумнее вернуть код 204, что означает «Нет контента». Это было бы немного более эффективно, поскольку статус 204 не может иметь никакого содержимого документа, плюс вы можете обнаружить код вместо того, чтобы анализировать ответ.

...