HATEOAS APIでは、可能な状態遷移を表すリンクが返されます。適合クライアントはそれらのリンクを取得してたどるだけですが、不適合クライアントが提供されたリンクをたどるのではなくURIを構築している場合、返される最も適切なステータスコード/応答は何でしょうか?
- 400は、応答本文のいくつかの情報と一緒に機能します-これは私たちが現在行っていることです
- 403リクエストが機能しない可能性があることを意味するため、間違っていると思いますが、将来的にリンクが使用可能になる可能性があります
- 404はもっともらしいようです-この時点ではリソースは存在しません
人々はどう思いますか?条件付き要求は古い応答(結果として412sなど)に基づいて要求を処理できることを知っていますが、これは少し異なる状況です。
更新:
これらのタイプの無効な操作に対する正しい応答は404であることがわかりました。リクエストの構文が正しい場合、有効なリソースに送られますが、ビジネスルールに違反しています。次に、いくつかの不自然な例を示します。
- クライアントが、互いに20%以内でなければならない2つの数値を提供できるとしましょう。
- クライアントがいくつかの計算を経た数値を提供できるとしましょう。その結果は、提供された元の数値が正しくなかったことを示しています。
400はこれらの正しい応答ですか?