Play Framework 2.6のRouting
今年はアウトプットを増やす年に使用って目標立てたので、何でアウトプット増やすのかって話になってScala + Playを触ってみてる*1
今回はPlayのRouting設定のメモ
書式
Playのroutesはconf/routes
に書く
書式は
METHOD PATH 紐付ける関数 # 例: ルートにIndexControllerを紐付ける GET / controllers.Index.index
GETの書き方
とりあえずGETの書き方
GET / controllers.Index.index
パスとかクエリパラメーターを付ける
型情報を省略した場合はString
として認識されるみたいでLong
とか、必須じゃないプロパティ等を使う時はOption[String]
のようにOption
で包む
# pathパラメーター GET /:val controllers.Index.index(val) # queryパラメーター GET / controllers.Index.index(val: Long) # プロパティがあったりなかったり GET / controllers.Index.index(val: Option[String]) # パスパラメーターを動的に # `/image/nogi.png`みたいな値がpに入る GET /*p controller.Index.index(p) # 固定と可変 GET / controllers.Application.show(page = "home") GET /:page controllers.Application.show(page) # デフォルト値 GET /clients controllers.Clients.list(page: Int ?= 1)
その他メソッド(POST, PATCH, etc...)
GET
の部分をPOST
とかに変えるだけ
POST / controllers.Index.post(name)
まとめ
他にもいろいろ機能あるみたいだけど、シンプル部分はこんな感じ
次はPOSTで送られきたJSONから値取ったりしてみる
参考
*1:素振りなので実際に使うかわからん