Living Socialが7回に渡りSOA (Service-oriented architecture) についてのブログを書いてますが、今回はAPI設計についてのエントリーです。 「APIはRESTful」と言うだけでなく、社内でガイドラインがオーソライズされるように調整すること。設計にあたっての選択肢及び自由度をしっかり考慮すること。そして一番大事なのは、決めた原則とおりにブレなくインプリすること。 どのHTTPステータス(success/error)をどのシチュエーションで採用するか。 204もしくは200をPOSTで使うか?PUTで使うか? 4xx番台のコードの一貫性。 bodyにエラーメッセージを追加するのか。 認証はどこで? ヘッダー?もしくはURLパラメータ? リソースの階層はどうするか。 忠実にRESTfulとするのか、RPCのようなエンドポイント(/inventory