Pinto公開に向けて #12 ― URIを変更&HTTPメソッドに簡単に対応
あらすじ
Pintoというソーシャルブックマークサービスを、Rubyで開発中です(GitHubリポジトリ)。開発中に気づいたことや工夫した点などを、備忘録も兼ねて書いています。その12回目です。
URIを変更
ニコニコ動画の外国語版が公開されたとのニュースを読み、そこに記されていた「http://de.nicovideo.jp/」「http://es.nicovideo.jp/」などのURIが格好よく見えたので、Pintoでも真似してみました。
- 変更前
-
英語版 http://pinto.jp/index.en 日本語版 http://pinto.jp/index.ja プラトニックURI http://pinto.jp/ - 変更後
-
英語版 http://en.pinto.jp/ 日本語版 http://ja.pinto.jp/ プラトニックURI http://pinto.jp/
単純に、URIが短くなる点が気に入っています。
プラトニックURIとは、言語非依存のURIのことで、「URIの希薄化」を防ぐために用意しているものです。くわしくは、『RESTful Webサービス』(オライリー・ジャパン刊)をご参照ください。
HTTPメソッドに簡単に対応
前掲書で提唱されているROA(リソース指向アーキテクチャ)では、GETやPOSTなどのHTTPメソッドに応じて、特定のURI(リソース)へのアクセスに対するレスポンスを変える必要があります。
Pintoでも、各コントローラに「get_action」「post_action」等のメソッドを定義する形で、レスポンスを変えるよう実装してみました。OPTIONSメソッドでのアクセスに対し、メソッド定義状況を見てAllowヘッダが返せるので、便利ではないか、と今のところは思っています。