RESTful Webサービス 第5章 読み取り専用のリソース指向サービスの設計

地図サービスの設計を通じて、RESTfulで、リソース指向で、アドレス可能で、ステートレスで、十分に接続されているサービスの設計手順を学ぶ。Web関連の仕事をしていて、本書をここまで読んできてこの章を読んでいると、全体的に「当たり前のこと」を丁寧に説明してみました、という印象が少しした。

手順

1. データセットを特定する
ここでのデータセットは「地図」だが、それはどのような地図か?

2. データセットをリソースに分割する
リスト、名前や緯度経度によって識別される場所、検索結果がリソース。

3. リソースに名前をつける
リソースの名前はURIである。URIの設計には3つの基本ルールがある。

  1. パス変数を使用する(/parent/child)
  2. パス変数に句読文字を挿入する(/parent/child1;child2)
  3. クエリ変数を使用する(/search?q=foo&page=2)

句読文字を使用するというのはあまり使ったことないけど使えそうだ。緯度経度をカンマで区切るとか。
クエリ変数はリソースが実行可能なアルゴリズムであるときに有効的である。

4. リソースの表現
XMLJSONXHTMLなど。ここでは地図情報をある地点を中心とした画像で表現してそれをリンクで繋ぎ合わせ、XHTMLで表現する。XHTMLにはその他の縮尺の地図や、その地点の東西南北へ移動するためのリンクなどを含める。

5. レスポンス
条件付きGETを使用してクライアント側で画像をキャッシュするとか、適切なHTTPレスポンスコードを返すとかの話。


次は引き続き6章を読むよ。