Play framework ドキュメント読解メモ-2.HTTP ルーティング

document2:HTTP ルーティング

  • Routerは、アクション(HTTPリクエストをpublicでstaticなメソッド)の呼び出しに対応付けるコンポーネント
  • HTTPイベントは以下の要素を含む。
    • クエリ文字列を含んだパス( /clients/1542 等)
    • HTTPメソッド (GET, POST, PUT, DELETE )
(1).REST について
  • REST (Representational state transfer)。
  • アプリケーションが主な REST 設計原理に従うなら、そのアプリケーションは RESTful
  • Play フレームワークを使うと、容易に RESTful アプリケーションを構築することができる。
(2).routes ファイルの構文
  • conf/routesで管理。アプリで必要な全てのルートを記載。
  • HTTPメソッドの記載ルール
    • GET, POST, PUT, DELETE, HEAD, *(全て)
  • URIパターンの記載ルール
  • Javaの呼び出し定義
    • アクションメソッドは Controller クラスの public static voidなメソッドであること。
    • Controller クラスは controllers パッケージに定義しなければならず、また、 play.mvc.Controller のサブクラスでなければならない。
  • 404アクション
  • 静的引数の割り当て
  • 変数とスクリプト
    • テンプレートと同様、 routes ファイルにおいても以下の記法を使うことができる。
    • 変数に ${ … } 構文
    • 式に %{ … } 構文
(3).ルーティングの優先順位
  • 競合がある場合は、(宣言した順番に従い) 最初のルートが使用される。
(4).静的リソースの配信
  • 静的なリソースのコンテナとして公開したい場合、各フォルダやファイルを特別なアクションを利用して示すことが出来る。
(5).URL エンコーディング
(6).リバースルーティング : URL の生成
  • Java 呼び出し中に URL を生成するのに Router が使用できる。
(7).content type の設定
  • Play は request.format に従って HTTP レスポンスの メディアタイプ を選択。
  • Play に対するリクエストのデフォルトフォーマットは html
(8).HTTP コンテントネゴシエーション
  • Play が他の RESTful アーキテクチャと共通していることのうちのひとつは、HTTP を隠そうとしたり、HTTP の上に抽象層を置こうとしたりせず、HTTP の機能を直接使用するということ


何は無くともapplicatoin.confファイルの把握に尽きる。後は正規表現を使うようなケースと動的・静的要素をどう構成するか。いや、その前にRESTを深く理解すべきか?

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

この辺りの本を読んでおくべきか、やはり。