Скажем, у нас есть конечная точка, как это:Каков правильный код ответа REST для действительных данных запроса (пока)?
/user/[email protected]/notification
возвращает один объект уведомления, который генерируется сервером. Когда вы запрашиваете этот URL, три ситуации может произойти:
Пользователь не существует, в этом случае я возвращаю
404
Пользователь существует, и уведомление присутствует. В этом случае я возвращаю
200
с уведомлением в телеПользователь существует, уведомление отсутствует. В этом случае я могу вернуть либо
404 NOT FOUND
, либо204 NO CONTENT
.
Я склоняюсь к 204
.
404
указывает на неисправную ситуацию, когда эта конечная точка действительно действительна, это просто, что объект недоступен прямо сейчас, но может быть доступен, если вы запросите еще раз через 2 секунды. Кроме того, вы не тот, кто отвечает за создание объекта, поэтому вы не можете помочь ситуации.
Да, звуки о праве. –
Технически, ответ на вопрос '204' совершенно применим. Но я бы пошел на '200' с пустым массивом в полезной нагрузке ответа. Это означает, что запрос преуспел, но нет доступных уведомлений, то есть пустого массива. –
@ CássioMazzochiMolin Эта конечная точка возвращает особый объект, а не массив. Вы вернете пустой объект? – StijnSpijker