УСПОКОИТЕЛЬНЫЙ ресурс, не найденный. 404 или 204? Джерси возвращается 204 на пустом указателе, возвращаемом из обработчика

Если Вы ищете /Resource/Id и тот ресурс не существует, я всегда имел, хотя это 404 было соответствующим ответом. Однако при возврате null от обработчика Джерси я не возвращаю "204 Содержания". Я могу, вероятно, работать с любым, но любопытен к мыслям других об этом.

Отвечать на мой собственный следующий вопрос. Чтобы заставить Джерси возвращаться 404, необходимо выдать исключение.

    if (a == null)
        throw new WebApplicationException(404);
40
задан dur 19 May 2016 в 20:22
поделиться

1 ответ

В Определении кодов HTTP говорится, что коды, начинающиеся с 2, относятся к успешным вызовам, а 4 - к неуспешным.

  • Когда вы получаете код 204, он просто показывает, что возвращать нечего (обычно вы ожидаете, что если вы делаете вызов POST или PUT, то возвращать ничего не нужно)

  • Когда вы получаете код 404, он говорит, что вызов был неудачным, поэтому он ничего не возвращает.

В вашей ситуации уместен 404, а не 204! Поскольку вы, вероятно, хотите сказать звонящему, что он сделал неправильный звонок.

50
ответ дан 27 November 2019 в 01:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: