REST API設計 - amekh/pond GitHub Wiki

Representational State Transfer(REST)
リソースはURIで表現し、リソースに対しての処理に必要な情報を
パラメタとして渡すようにする。

1. メソッドの基本的な役割

Method Role
GET 取得
POST 作成
PUT 更新
DELETE 削除

POSTの場合、ログイン認証などで サーバで処理する際に必要な情報を渡す際も利用します。

2. URI設計

REST準拠でないURI

ユーザ情報取得:   [GET] http://hogehoge.com/user?user_id=10
ユーザ情報の更新: [POST] http://hogehoge.com/user
ユーザの投稿記事: [GET] http://hogehoge.com/post?user_id=10&post_id=921

REST準拠なURI

ユーザ情報取得:   [GET] http://hogehoge.com/user/1
ユーザ情報の更新: [PUT] http://hogehoge.com/user
ユーザの投稿記事: [GET] http://hogehoge.com/user/1/post/921

3. バージョン

APIを公開すると予想される場合は、バージョン管理します。

ユーザ情報取得:   [GET] http://hogehoge.com/v1/user/1

後方互換性がない変更を行った場合、バージョンを上げてAPIを公開する。

⚠️ **GitHub.com Fallback** ⚠️