ついてのブログを書いてますが、今回はAPI設計についてのエントリーです。「APIはRESTful」と言うだけでなく、社内でガイドラインがオーソライズされるように調整すること。設計にあたっての選択肢及び自由度をしっかり考慮すること。大事なのは、決めた原則とおりにブレなくインプリすること。どのHTTPステータス(success/error)をどのシチュエーションで採用するか。204もしくは200をPOSTで使うか?PUTで使うか?4xx番台のコードの一貫性。bodyにエラーメッセージを追加するのか。認証はどこで?ヘッダー?もしくはURLパラメータ?リソースの階層はどうするか。スキーマでAPIを定義。サーバサイドのスタブを生成してくれる。開発言語をまたいで利用できる。ドキュメントを自動生成してくれる。Socialでは、APIの作成/管理にSwaggerを使っている。Herokuは、もろもろ細かく規定したAPI設計ポリシーをGithub上で公開しています。