RESTとRailsスタイル

6,793 views

Published on

補足などはこちら
http://d.hatena.ne.jp/tkawa/20120227/p1
http://d.hatena.ne.jp/tkawa/20120227/p2

Published in: Technology

RESTとRailsスタイル

  1. 1. RESTとRailsスタイル @tkawa2012.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/123POST http://example.com/users/create
  22. 22. GET http://example.com/users/show/123 GET http://example.com/users/123POST http://example.com/users/create POST http://example.com/users
  23. 23. GET http://example.com/users/show/123 GET http://example.com/users/123POST 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/20110819http://d.hatena.ne.jp/tkawa/20110819/p1http://baseball.example.jp/leagueshttp://baseball.example.jp/leagues/centralhttp://railsapp.example.com/usershttp://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]

×