Я ожидаю, что ответ JSON, возвращенный одним из моих веб-API, будет содержать минимальный набор полей, аннотированных как обязательные для бизнеса.Код состояния ответа HTTP для плохих данных, найденных в DB
Какой HTTP status code подходит лучше в случае, если некоторые плохие данные, которые не соответствуют контракту, находятся на db?
В настоящее время мы используем 500, но нам, вероятно, необходимо его улучшить (также потому, что Varnish, поставленный перед нашим сервисом, переводит 500
в 503 Service Unavailable
).
Пример:
{
"id": "123",
"message": "500 - Exception during request processing. Cause: subtitles is a required field of class Movie and cannot be empty",
"_links": {
"self": {
"href": "/products/movies/123"
}
}
}
Благодаря
Я бы подумал, что если это плохие данные, это должно быть 400 плохого запроса? – mituw16
Качните эти ссылки, они могут быть полезны: http://stackoverflow.com/questions/1434315/http-status-code-for-database-is-down и http://stackoverflow.com/questions/3290182/rest-http -status-codes-for-failed-validation-or-invalid-duplicate – d3r1ck
Нет запроса, это просто ответ, который является «плохим», потому что такие же неожиданные данные были найдены на db –