RESTはじめました。
2013-02-16 23:14:53
- Tags:
- REST
- ソフトウェアパターン
Webの構築技法にRESTがあるが、ようやく学び始めてみたので、備忘録として。
あくまで現状の理解において。
観点としては、Webサービス、Webアプリを作成する上で。
RESTとは
RESTは、URIをリソースとし、
HTTPメソッドによってアクセスすることによって、
リソースの操作を行う手法のこと。
HTTPに非常にマッチしている。
主な特徴は以下
- ステートレス
- URI = リソース
- 操作 = HTTPメソッド
- HTTPステータスコード
URIとHTTPメソッド(リソースモデリング)
例として、ユーザー管理を行う場合を考える。
各操作は以下のように対応つけられる。
※ただし、このURIはあくまでURIであって、Webアプリなどの画面に一対一に関連しなくてもいいと思う。
画面URLは別個に作っておいて、Ajaxで下記URIにアクセスするとか。これがREST的にいいか悪いかはまだ分からない。
URI | GET | POST | PUT | DELETE |
---|---|---|---|---|
/user | ユーザー一覧 | ユーザー追加 | - | - |
/user{uId} | ユーザー詳細 | - | ユーザー編集 | ユーザー削除 |
疑問点
- 上記の例では、/userより、/usersのように複数形のほうがいいのか?
- よくWebアプリなどで存在する認証・ログイン・セッションなどについては、どうURI定義したらいい?そもそもステートレスなので、セッションなど不要?
- PUTはべき等であり、POSTはそうでないという記述がよくあるが、では使い分けの基準は?
- そもそも利点は何?これで作ると何がいいの?
最後に
MVCを最初に学んだときのような感じがして、
まだまだこれからだなとは思う。
yohei-y:weblog: REST 入門
を読んで、基礎から勉強してみようと思う。
なお、以下もとても参考になるページ
RESTfulなWebサイトと拡張子を含むURLについて - 檜山正幸のキマイラ飼育記
Sand Box #6810: Railsの擬似RESTにPut/Deleteを投げる2つの方法
REST でよくある間違い
RESTful Web Services より良いWebインタフェースの構築と分散型システム連携:第2回:REST導入における勘所 ~誤った導入をしないために~ | 豆蔵ソフト工学ラボ
[REST] 認証が必要な API を REST っぽく作るときのメモ - それはBlog
REST について調べたまとめ - Slow Dance
There are currently no comments on this article, be the first to add one below
Add a Comment
Note that I may remove comments for any reason, so try to be civil. If you are looking for a response to your comment, either leave your email address or check back on this page periodically.