中央線Meetupに行ってきた
中央線Meetupという名の かわしまさん の講演会に行ってきた
zalando という日本で言うところの ZOZO のような会社の REST API 制作のためのガイドラインを 2 時間ほど解説してもらいました。
restful-api-guidelines-ja.netlify.com
興味深いのは API のバージョニングの方法。
基本的にバージョニングを避けるものの、どうしてもバージョンをつけざるを得ない場合、通常は URI でバージョンを表示する形(URI バージョニング)をとりがちになる。
# Item API # バージョン 1 GET /api/users/{userId}/items # Item API # バージョン 2 GET /api/v2/users/{userId}/items
だが、URI バージョニングを使う場合に API 利用者はアプリケーションの修正が必要だったりデプロイされるまで待つ(結果として、ユーザー側プログラムの更新タイミングが遅くなる)必要がある等の不都合が多い。 また、 API 提供者の方でも HATEOS でリソース間の関係を扱う場合に、どちらのバージョンの URI を取り扱うか混乱が生じる。
そこで推奨されるのはヘッダーに明示的にバージョンを示す方法(メディアタイプバージョニング)とのこと。
# Item API # バージョン 1 GET /api/users/{userId}/items Accept : application/vnd.example.com.v1+json # Item API # バージョン 2 GET /api/users/{userId}/items Accept : application/vnd.example.com.v2+json
その他、 API 設計についてまとめられているので、目を通しておくとよいかもしれない。