36523
REST API を開発していたとします。URIパラメータとしてユーザー ID を受け取る場面で、存在しないID がパラメータに渡されたとします。

> 例: <http://localhost:8080/get_public_user_info?user_id=hoge>

この場合、エラーで終了するのが正しい処理なのですが、この時利用するのに適切な HTTP のリスポンスコードは何になりますでしょうか。

4xx 系だとは思うのですが、いまいちどれを選ぶべきかが明確ではないと思っているので質問しています。
CC BY-SA 3.0
2017-07-20T05:21:00.563
36522
2017-07-20T07:06:55.697
2017-07-20T05:46:14.613
3060
754
question
http rest
存在しないユーザーIDがパラメータとして送られてきた時に、HTTP エラーコードを返したい
英語版のStackOverflowでも同じ質問がありました。参考になるかと思います。

[REST standard for GET on a resource that doesn't
exist](https://stackoverflow.com/questions/1533510/rest-standard-for-get-on-a-
resource-that-doesnt-exist)

私の考えでは、ユーザーが存在するかどうかを特定できるとセキュリティ上の問題になる場合は400で、そうでなければ404(ユーザーが存在しないことを区別できるようにエラーコードを分ける)が適当かなぁと思います。
CC BY-SA 3.0
2017-07-20T06:09:55.427
36523
2017-07-20T07:06:55.697
2017-07-20T07:06:55.697
21092
21092
36522
answer