Предположим, я положил /api/resource/50, а в теле у меня {"Id": 12, ...}
/api/resource/50
{"Id": 12, ...}
Существует ли 4xx статус HTTP для этого несоответствия? Я думаю об этом неправильно? Сейчас я просто возвращаю 400.
Что насчет 409 Конфликт?
409
6.5.8.409 Конфликт Код состояния 409 (Конфликт) указывает, что запрос не может быть выполнен из-за конфликта с текущим состоянием целевого ресурса.Этот код используется в ситуациях, когда пользователь может разрешить конфликт и повторно отправить запрос.Сервер ДОЛЖЕН генерировать полезную нагрузку, которая включает в себя достаточно информации, чтобы пользователь мог распознать источник конфликта.[...]
6.5.8.409 Конфликт
Код состояния 409 (Конфликт) указывает, что запрос не может быть выполнен из-за конфликта с текущим состоянием целевого ресурса.Этот код используется в ситуациях, когда пользователь может разрешить конфликт и повторно отправить запрос.Сервер ДОЛЖЕН генерировать полезную нагрузку, которая включает в себя достаточно информации, чтобы пользователь мог распознать источник конфликта.[...]
Я бы, наверное, пошел с кодом 409 (Конфликт). Эта страница википедии очень удобна: 4xx Коды состояния