REST API でどのように応答すればよいか知りたいと思っていました。
有効な例:
http://blah.com/api/v1/dosomething/123
上記は有効なリクエストで、現在、HTTP ステータスは 200 で、JSON レスポンスがあります
{
"dosomething": {
"status": "OK",
"results": "123"
}
}
ここで私の質問は、渡されたパラメーターが有効でない場合 (整数の文字列を期待している)、200 の HTTP 応答を返し、JSON 応答でエラー ステータスを返すか、または HTTP のようなものを渡す必要があるかどうかです。 400 応答 ( Bad request ) を確認し、JSON 応答で要求に関するエラー/問題をリストしますか?
エラーの例:
http://blah.com/api/v1/dosomething/123a
JSON レスポンス:
{
"dosomething": {
"status": "ERROR",
"errors": [
"Value passed: |123a| must be a integer."
]
}
}
繰り返しますが、私の質問は、渡されたパラメーターが期待したものではないリクエストで 200 または 400 の HTTP ステータスを渡す必要があるかどうかです。または、リクエストが機能しているため、これは常に 200 レスポンスである必要がありますか?
ベストプラクティスと見なされるものは何ですか?