前提
Web APIとは何なのか
リソース指向アーキテクチャ(ROA)とは何なのか
RESTful APIとは何なのか
RESTful API設計でやること
体系的にまとめてみた。
リンクになっているところは以前Qiitaに投稿した記事。詳細はリンク先を参照してほしい。
- リソース設計
- インターフェース設計
3. URI設計
4. レスポンス設計
5. HTTPステータスコード設計
6. データモデル設計
7. 例外設計 - ログ設計
- 詳細設計
ログ設計、詳細設計に関しては以下に軽く述べておく。
ログ設計
APIにリクエストがあった時に、どのようなログを出力する必要があるか検討する。
考え方として、「ログ = 何か問題があった時のための調査資材(運用業務含む)」ということを念頭に考えると良い。主に検討する内容としては以下のようなものがある。
- ログフォーマット
- ログメッセージ
- ログレベル
- ログ出力タイミング
- ログ出力先
- ログローテート
※個人情報の類は極力ログに含めるべきではないが、やむを得ず含める場合はマスキングをする等の工夫をする。
詳細設計
APIのパッケージ構成、APIの処理フロー、(データストアがDBであれば)各APIのデータ取得先テーブルのマッピング。プロジェクトによってはこの設計を省くこともある。
RESTful APIの設計というか、Web API全般における設計になってしまった。