エンドポイントのリソース設計と404について考える
ステータスコード論争があったのでいい機会なので纏めてみる
個人的には、管理するエンドポイントによってWayが異なることは勘弁してほしいという気持ち。
前提条件
URLはリソースである。
404について考える
case1: hoges/
=> hogeのコレクションリソースを返す
case2: hoges/1/fugas
=> hoge=1にぶら下がるfugaのコレクションリソースを返す
case3: hoges/1/fugas/1
=> hoge=1にぶら下がるfuga=1のリソースを返す
としたときに、
case2, case3については、指定したIdリソースがない場合、404。
case1 はリソースのId指定が含まれていないので200 ないし 204
というのが個人的な感覚。
大体、物言いが、開発外から付く
よくあるのが、コレクションリソースを返すというケースで404にしてくれって話を貰うパターン。
URLがリソースである以上、requestを投げる側でコントロールが出来ないものに関しては400系を返すべきではないというのが個人的な感想になる。
基本的に使いやすければOKでは?
基本的に使いやすければ良いのでは?というアドバイスを先輩から頂いた。 githubのApiの定義をひとまず見に行こうかなという気持ち。