2023-04-03
https://pbs.twimg.com/media/FswD2TyaUAEF9dL.jpg
新年度一発目、いきなりやらかしました!これが社会人や! 社会人歴長い人たちはみんな若いね〜って親目線で語ってたよ そんなこと言ってるあなたも今が一番若いんだよ
だからなんだよ
https://gyazo.com/2830a3b49fe4c607f12378bb0f6d8e6ehttps://gyazo.com/cb27c1677907ccaa47273bbaf0c1a662https://gyazo.com/36c5e4274c44563bc85b53766ddc250d
ローディングで目が痛くなった
https://pbs.twimg.com/media/EP5oXVzUwAEz6lD.jpg
これ今は直ったのかな
We're working with the community to update the most popular addons. But if you're using an addon that hasn't been updated yet, it might not work.
yamanoku.icon
【問題】商品を検索するAPIで、条件に一致する商品が見つからなかった。この場合、返すべきHTTPレスポンスステータスコードは?
以下選択肢から選んでください。選択肢に適したものがない場合はそれ以外の答えと何故そうしたのかについても回答してください。
200 OK
GPT-3.5.icon
商品を検索するAPIで、条件に一致する商品が見つからなかった場合、返すべきHTTPレスポンスステータスコードは「404 Not Found」です。これはクライアントに「要求されたリソースが見つからなかった」ということを通知します。200 OKを返すと、クライアントが期待するレスポンスが得られない場合でも成功したことを通知することになります。400 Bad Requestは、要求そのものにエラーがある場合に使用されます。
yamanoku.icon
商品リストを返すAPIを受けてフロントエンド側でそのリストを描画する場合であれば、404 のレスポンスで返すのは適切でしょうか?
GPT-3.5.icon
ご指摘いただいたとおり、商品リストを返す API の場合、条件に一致する商品が見つからなかった場合でも 404 Not Found を返すことは適切ではありません。404 Not Found はクライアントから要求されたリソースが存在しない場合に使用されるステータスコードで、そのため商品リストが空である場合でも 200 OK ステータスコードを返すことが望ましいです。ただし、商品リストが空である旨をレスポンスのボディに明示的に指定することが望ましいです。例えば、空の JSON 配列 [] を返すといった方法があります
yamanoku.icon
いわゆる単一の商品ページであれば、404 の形で返し、検索一覧のようなページであれば 200 で空の配列で返すのが適切のように感じていました。
GPT-3.5.icon
そのとおりです!単一の商品ページでは、その商品が存在しない場合には 404 Not Found を返すことが適切です。検索一覧のようなページでは、検索条件に一致する商品が存在しない場合には、空の配列を含む 200 OK ステータスコードが適切です。商品リストが空であることを明示的に示しているため、フロントエンド側で処理しやすいためです。