より良いREST APIを設計する方法
(r.bluethl.net)- 一貫性を保つ: URL / ヘッダー / 認証 / ステータスコード
- ISO8601 UTCの日付フォーマットを使う
- 認証の例外はPublic Endpointのみ。それ以外はすべて認証必須
- ヘルスチェックEndpointを提供する
- APIのバージョニング
- APIキー認証を適用する
- 妥当なHTTPステータスコードとメソッドを使う
- 各Endpointには、それ自体で説明可能な簡潔な名前を使う
- 標準のエラーレスポンスを使う
- POSTで作成されたリソースを返す
- PUTの代わりにPATCH
- できるだけ具体的に
- Paginationを使う
- 各リソースを拡張可能にする(
expandなどのクエリパラメータを与えて追加情報も返せるように設計する)
2件のコメント
最近この関連の内容をあちこちでよく目にしましたが、『日常のモノが教えてくれるWeb APIデザイン』をおすすめします。タイトルと表紙のせいで、インターネットについてのやさしい比喩の本のように勘違いするかもしれませんが、APIデザインを仕事にしている著者のAPIデザインに対する洞察が光る良書です。
Microsoft REST API ガイドライン
Stack Overflow の REST API ガイドライン