Это до вас, в конце концов, но я бы сказал, 422.
400 означает, что запрос имеет неверный формат, который не так. Запрос отлично лексически, поэтому вы можете анализировать и обрабатывать его в порядке.
http://www.restpatterns.org/HTTP_Status_Codes/400_-_Bad_Request
404 означает, что URL запросили, не существует. Ресурс (т. Е. Конечная точка веб-службы) существует. Я мог бы предложить другой ответ, если идентификатор был частью URL-адреса, то есть в строке запроса. 404s ссылаются на URL только в моем опыте, а не на POSTed тела. Также обратите внимание, что ссылка ниже относится к 404s только в контексте URL-адреса, а не о содержимом тела POST.
http://www.restpatterns.org/HTTP_Status_Codes/404_-_Not_Found
Поэтому это оставляет 422 в качестве единственного действующего кандидата.
http://www.restpatterns.org/HTTP_Status_Codes/422_-_Unprocessable_Entity
Другой плакат предложил 204, но это неверно, так как запрос был обработан, но не был успешным. Все коды состояния 2 ** подразумевают некоторый уровень успеха.
http://www.restpatterns.org/HTTP_Status_Codes/204_-_No_Content
Посмотрите: http://www.codingpedia.org/ama/error-handling-in-rest-api-with-jersey/ – Fusseldieb