我在Play 2.1.4项目中有一个搜索功能,可以路由到/ search /:query。
我如何处理用户在不添加查询的情况下进行搜索的情况? 自Play 2.1以来,可选参数已经消失,我不相信使用不同的路线是一个非常好的解决方案。
答案 0 :(得分:3)
实际上两条路线有什么问题?从逻辑的角度来看,这是两个单独的操作:使用param的路由应该初始化搜索过程,而空的应该显示空的搜索表单或进行一些重定向。
GET /search/:term controllers.Application.search(term: String)
GET /search controllers.Application.blankSearch
Optionaly你可以使用一个默认值的路由(即空字符串),这是一种干净的方法,因为普通的HTML表格会以完全要求的格式发送请求:
GET /search controllers.Application.search(q: String ?= "")
(请求:http://domain.loc/search?q=Looking+for+something
)