[Play] route配置注意

1. 動態參數,{id} 與all使用有限制,routes配置裏一定要寫成/controller/action/{id}格式或/controller/action/all格式 否則寫成如/aaa/{id}或/aaa/all會報錯 controllers.action not found

#訪問http://localhost:9000/validate?id=22&username=dada&password=ggtrtg,正確
#訪問http://localhost:9000/validate/id=22&username=dada&password=ggtrtg,報錯Action validate.1 not found
GET     /validate                               Application.validateLogin

#訪問http://localhost:9000/validate/22?username=dada&password=ggtrtg,報錯Controller controllers.validate not found
#訪問http://localhost:9000/validate/22/username=dada&password=ggtrtg,報錯Controller controllers.validate not found
GET     /validate/{id}                              Application.validateLogin

#http://localhost:9000/validate/all?username=dada&password=ggtrtg,報錯Controller controllers.validate not found
#http://localhost:9000/validate/all/username=dada&password=ggtrtg,報錯Controller controllers.validate not found
#http://localhost:9000/validate/1?username=dada&password=ggtrtg,報錯Controller controllers.validate not found
#http://localhost:9000/validate/1/username=dada&password=ggtrtg,報錯Controller controllers.validate not found
GET     /validate/all                           Application.validateLogin

#http://localhost:9000/application/validateLogin/22?username=dada&password=ggtrtg,正確
#http://localhost:9000/application/validateLogin/22/username=dada&password=ggtrtg,報錯Action validate.1 not found
GET     /application/validateLogin/{id}                               Application.validateLogin

#http://localhost:9000/application/validateLogin/all?username=dada&password=ggtrtg,正確(id=all)
#http://localhost:9000/application/validateLogin/1?username=dada&password=ggtrtg,正確
#http://localhost:9000/application/validateLogin/1/username=dada&password=ggtrtg,報錯Action validate.1 not found
GET     /application/validateLogin/all                              Application.validateLogin

2. "?”  "*" 在路由配置中的使用,與動態參數不同,不用必須遵循格式/controller/action/?, 例子如下

#http://localhost:9000/validate?id=1&username=dada&password=ggtrtg,正確
#http://localhost:9000/validate/id=1&username=dada&password=ggtrtg,報錯Controller controllers.validate not found
GET     /validate/?                              Application.validateLogin
GET     /validate/*                              Application.validateLogin

#http://localhost:9000/application/validateLogin?id=1&username=dada&password=ggtrtg,正確
#http://localhost:9000/application/validateLogin?id=1&username=dada&password=ggtrtg,未能發起請求
#GET     /application/validateLogin/*                            Application.validateLogin
GET     /application/validateLogin/*                            Application.validateLogin


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章