エンドポイントのリソース設計と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では?

基本的に使いやすければ良いのでは?というアドバイスを先輩から頂いた。 githubApiの定義をひとまず見に行こうかなという気持ち。