ほとんどの最新の Web アプリケーションでは、クライアントがアプリケーションと対話する際に使用できる API を公開しています。 適切に設計された Web API には、次をサポートする目的があります。 プラットフォームの独立。 API の内部的な実装方法に関係なく、すべてのクライアントが API を呼び出すことができる必要があります。 そのためには、標準プロトコルを使用し、クライアントと Web サービスが交換するデータの形式に同意できるメカニズムを備えている必要があります。 サービスの進化。 Web API はクライアント アプリケーションから独立して進化し、機能を追加できる必要があります。 API の進化に伴い、既存のクライアント アプリケーションが変更なしに引き続き機能する必要があります。 クライアント アプリケーションが機能を十分に使用できるように、すべての機能が検出可能である
GET はもともと副作用がないメソッドとして定義されており、あるURIに対して、何度GETを繰り返してもリソースの状態は変化しない事が保証されています。 DELETE も GET に次いで判りやすいでしょう。一度削除しても、複数回削除しても、削除された状態が変わる事はありません=べき等 POST と PUT はどうでしょうか? リソースの新規作成で考える 例えば社員管理システムをRESTful Webサービスで作成する事を考えます。 社員リソースの URI は以下になります。 http://<サーバ名>/employee/<社員番号> 社員リソースの作成には以下のXMLを利用するとします。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <employee> <firstname>太郎</firstname> <lastnam
RESTful APIを設計した際のステータスコードの指針です。 メソッド別 GET 成功した場合 200 OK:最も一般的 304 Not Modified:条件付きGETでキャッシュを使わせたい場合 POST 成功した場合 201 Created 作成したリソースのURIを示すLocationヘッダを付けておく 議論 200 OKだとまずいのか? 200 OKを応答する実装も多くあり、まずいというわけでもない 200 OKはPOST結果がキャッシュ可能、201 CreatedはPOST結果がキャッシュ不可能として分けてもいいが、そこまでする必要があるか?(POSTのキャッシュは一般的ではない) 204 No Contentだとまずいのか? クライアントがPOST結果を事前に全て知っているわけではないのでNo Contentは不親切では? 失敗した場合 409 Conflict:作成しよ
Suppose you’re doing technology, and like doing technology, and your career’s going well, and you find yourself wondering what you’re going to be doing in twenty years. I’ve been down several of the roads you might decide to take, and it occurs to me that talking them over might amuse and inform. Thanks are due to Andre Leibovici, who tweeted Is it possible to be in a sr. leadership position and s
Some companies and government agencies share their API Design Guidelines with the community. Each document has been analyzed to list covered topics and their references within the document. Interoperability model for the Public Administration Agenzia per l'Italia Digital & Team per la trasformazione digital (Italian administration)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く