読者です 読者をやめる 読者になる 読者になる

REST紹介(簡易版)。RESTとSOAP。

RESTについて自分の理解をまとめておきます。
何も知らない方へREST理解の手助けになれば幸いです。

RESTとSOAP

RESTを学ぼうとする時にSOAPと比較しがちですが、SOAPとRESTはレイアが違うというか全く別物で比較すべきものではないと思います。
従って、RESTを理解する際はSOAPの事は忘れて下さい。

RESTとは。

RESTとはWebの原則に従った設計の事です。
キーワードとなってくるのは、

です。

URI

URIは名詞。

URIリソースを示すものです。
動詞ではなく名詞で設計します。
Bad:
http://domain.com/GetItemList/
Good:
http://domain.com/Items/

サーバの意図とクライアントの意図を分離。

ドメイン、パスはサーバの意図を示します。
クライアントの意図はクエリ文字列で示します。
Bad:
http://domain.com/Items/?id=X001
Good:
http://domain.com/Items/X001/

単数複数形を適切に使う。

URIに限った話ではありませんし、日本人だけが犯しがちなミスですが、複数のリソースを示すURI複数形にします。
Bad:
http://domain.com/Item/
Good:
http://domain.com/Items/
一意のリソースを示すURI複数形/ID が一般的なようです。
Bad:
http://domain.com/Item/X001/
Good:
http://domain.com/Items/X001/

HTTPメソッド

挙動(CRUDなど)はURIで示すのではなく、HTTPメソッドで示します。

アイテムの削除

Bad:
POST http://domain.com/Item/X001/?action=delete
Good:
DELETE http://domain.com/Items/X001/

ただし、流派がある?

2014/11/29現在、GETとPOSTしか使っていないWebAPIも多い(twitterなど)という事実もあります。
詳細は調べていませんが、GETとPOSTしか許可していないプロキシサーバがあるなどの背景があるようです。

HTTPステータス

成功:200
クライアントエラー:400,404
サーバエラー:500

これらだけではなく、適切なHTTPステータスを使用してクライアントに処理結果を示します。

最後に

以上です。簡易的な紹介としてはこれだけで十分だと感じました。
もちろん歴史的な背景等もっと詳細を追えば、RESTの理解をもっと深めることが出来ると思います。
より詳細な内容については参考にした書籍、サイトを参照頂ければと思います。