このエントリはPlay frameworkひとりアドベントカレンダーの4日目です。
今日はroutingの設定をしてみます。
routing?
HTTP Method(GET/POST/...)
と URL(/hoge/fuga)
と Controller(Javaのmethod)
の紐付け設定のこと。
Play frameworkでは、 /conf/routes
ファイルに設定を書きます。
そう。 設定ファイルを書きます。 諦めてください。わかりやすいから大丈夫。こわくないよ。
所定のファイルに METHOD URL Controller
って書くだけ。
:userID
みたいな感じでパラメーターも使えて、それをControllerのメソッド引数に指定できます。
GET /
にアクセスがきたらcontrollers.Application.index()
を呼び出すGET /twowa/
にアクセスがきたらcontrollers.Application.getTwowa()
を呼び出すPOST /twowa/
にアクセスがきたらcontrollers.Application.postTwowa()
を呼び出すGET /twowa/:userId
にアクセスがきたらcontrollers.Application.getTwowa(Long userId)
を呼び出すGET /images/*
にアクセスがきたら、/public/images/
のファイルを返すGET /css/*
にアクセスがきたら、/public/css/
のファイルを返すGET /js/*
にアクセスがきたら、/public/js/
のファイルを返す- というか、routesにマッチしてなかったら
/public/*
のファイルを返す
この設定だとこんな感じ。
設定テンプレにもともと書いてありますが、 Higher priority routes first
なのでご注意を。
GET / controllers.Application.index()
GET /twowa/:userId controllers.Application.getTwowa(userId:Long)
GET /twowa/ controllers.Application.getTwowa()
POST /twowa/ controllers.Application.postTwowa()
GET /*file controllers.Assets.at(path="/public", file)
このままだとうまく play run
できないので、試す場合はfileのやつだけ試してみましょう。
GET /*file〜
以外 の行を#でコメントアウトして play run
してください。
んで、ブラウザで http://localhost:9000/javascripts/jquery-1.7.1.min.js にアクセスしてみましょう。
エラーにならず、何がしかテキストが表示されれば成功です!
jqueryとかcssとかバンバンいれてください。