コンテンツにスキップ

REST API/RESTful API

HTTP メソッド

GET

データの取得に使う。

POST

データの新規作成に使う。

PUT

データの完全な上書きに使う。

PATCH

データの一部の上書きに使う。

DELETE

データの削除に使う。

HTTP ステータスコード早見表

-になっている組み合わせは個人的にちょっと考えにくいかなという組み合わせである。

Code だいたいの意味 GET POST PUT/PATCH DELETE
200 OK OK。レスポンスボディを見てくれ。 -
201 Created OK。リソースを作成したからレスポンスボディを見てくれ。 - - -
204 No Content OK。以上。
400 Bad Request Error。お前のリクエストはバリデーション的に NG だ。あるいはとりあえずお前が悪い。
401 Unauthorized Error。お前は認証してないからお前が悪い。
403 Forbidden Error。お前には権限がないからお前が悪い。
404 Not Found Error。存在しないリソースにアクセスしようとしたお前が悪い。
500 Internal Server Error Error。とりあえず俺が悪い。
503 Service Unavailable Error。俺はもうだめだ。

リクエストヘッダー/リクエストボディ/パスパラメータ/クエリパラメータ使い分け

https://example-url.com/api/v1/resources/${pathparameter}?=${queryParameter1}&${queryParameter2};

GET メソッドのとき

GET メソッドのとき、リクエストボディは使えない。パスパラメータかクエリパラメータを使う。

アクセストークン

リクエストヘッダーに乗せる。

API キー

クエリパラメータに乗せる。

リソースの識別子(ID)

パスパラメータに乗せる。

リソースの変更内容

リクエストボディに乗せる。

リソースの取得条件

識別子(ID)はパスパラメータに乗せる。

絞り込みなど省略可能の条件はクエリパラメータに乗せる。