Successfully reported this slideshow.
Your SlideShare is downloading. ×

RESTとRailsスタイル

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 32 Ad

More Related Content

Slideshows for you (20)

Similar to RESTとRailsスタイル (20)

Advertisement

Recently uploaded (20)

Advertisement

RESTとRailsスタイル

  1. 1. RESTとRailsスタイル @tkawa 2012.2.26 第5回デザイナー向けプログラム部 #p4d
  2. 2. @tkawa • 川村 徹 • Rails (Ruby) • ほぼWebアプリばかり 開発してます • U2plus http://u2plus.jp/
  3. 3. REST
  4. 4. RESTって何? • Webの「建築様式」(Architectural Style) • ざっくりいうとWebのしくみ・元にな る考え方 • Webが成功している理由の1つ
  5. 5. なぜREST? Webアプリを作るときは、 「RESTにしたほうがいい」とよく言われるけど… • Web (HTTP, HTML,...) の特長を十分に活 かす • 人間とソフトウェア(自動処理) 両方に優しい • シンプルな設計の指針
  6. 6. どうすればREST? • 抽象的なものなので、使う人によって 意味が違って伝わらないことも… • 具体的にはどうすればいいの?
  7. 7. Railsスタイル • RESTに沿っていて、さらにより具体的 な設計のパターンを提示している • 今のところ成功している(!) • Rails以外で作るときにも使えばいいよ ね
  8. 8. Webのしくみ (ざっくり)
  9. 9. ブラウザ
  10. 10. 1. 2. ブラウザ Webサーバ 1. ブラウザからWebサーバへリクエストを送る 2.レスポンス(HTML, CSS, JavaScript, JPEG,...)を返す
  11. 11. 重要なのは • URL • リクエストメソッド • ステータスコード
  12. 12. 1. 2. ブラウザ Webサーバ URL, リクエストメソッド 1. ブラウザからWebサーバへリクエストを送る 2.レスポンス(HTML, CSS, JavaScript, JPEG,...)を返す ステータスコード
  13. 13. 1. 2. ブラウザ Webサーバ
  14. 14. URL • Web上に存在する「モノ(情報)」の 名前 • ブラウザのアドレス欄に表示される • シンプルで意味のわかるものがよい
  15. 15. P4Dのwikiに新しくページ作りたいんだけ ど、どうすればいいんだっけ?
  16. 16. P4Dのwikiに新しくページ作りたいんだけ ど、どうすればいいんだっけ? GitHubのトップの検索ボックスで 「prog4designer」で検索してください。 そこから下のほうの「meetups」を押して、 右上の「Wiki」を押して、「New Page」を 押してください。
  17. 17. P4Dのwikiに新しくページ作りたいんだけ ど、どうすればいいんだっけ? https://github.com/prog4designer/meetups/wiki/_new
  18. 18. POST https://github.com/prog4designer/meetups/wiki
  19. 19. リクエストメソッド GET POST PUT DELETE 取得 作成 更新 削除 基本的にはこの4つだけ!! 例えば「ログインする」という操作はない
  20. 20. リクエスト GET https://github.com/prog4designer/meetups/wiki POST https://github.com/prog4designer/meetups/wiki PUT https://github.com/prog4designer/meetups/wiki DELETE https://github.com/prog4designer/meetups/wiki メソッド URL 「モノ」 「どうする」 動詞 名詞
  21. 21. GET http://example.com/users/show/123 POST http://example.com/users/create
  22. 22. GET http://example.com/users/show/123 GET http://example.com/users/123 POST http://example.com/users/create POST http://example.com/users
  23. 23. GET http://example.com/users/show/123 GET http://example.com/users/123 POST http://example.com/users/create POST http://example.com/users
  24. 24. Railsスタイル
  25. 25. GET POST PUT DELETE /user
  26. 26. http://d.hatena.ne.jp/tkawa/20110819 http://d.hatena.ne.jp/tkawa/20110819/p1 http://baseball.example.jp/leagues http://baseball.example.jp/leagues/central http://railsapp.example.com/users http://railsapp.example.com/users/123 / {まとまり} / {名前, 番号}
  27. 27. GET POST PUT DELETE /users /users/123
  28. 28. GET POST PUT DELETE /users index create - - /users/123 show - update destroy GET /users/new → new GET /users/123/edit → edit
  29. 29. まとめ • 重要なのは おすすめ ※私が書いたわけではありません - URL - リクエストメソッド - ステータスコード • Railsスタイルに従えば楽 • つづく? http://d.hatena.ne.jp/tkawa/searchdiary? word=*[rest]

×