作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我在 Scala 中有一个已经运行的基于 Play 2.0 框架的应用程序,它提供如下 URL:
http://localhost:9000/birthdays
它会响应所有已知生日的列表
我现在想通过添加使用可选的“from”(日期)和“to”请求参数限制结果的功能来增强这一点,例如
http://localhost:9000/birthdays?from=20120131&to=20120229
(此处的日期解释为 yyyyMMdd)
我的问题是如何使用 Scala 处理 Play 2.0 中的请求参数绑定(bind)和解释,特别是考虑到这两个参数都应该是可选的。
这些参数是否应该以某种方式在“路由”规范中表达?或者,响应的 Controller 方法是否应该以某种方式从请求对象中分离出参数?还有其他方法可以做到这一点吗?
最佳答案
将可选参数编码为 Option[String]
(或 Option[java.util.Date]
),但您必须实现自己的 QueryStringBindable [日期]
):
def birthdays(from: Option[String], to: Option[String]) = Action {
// …
}
并声明以下路由:
GET /birthday controllers.Application.birthday(from: Option[String], to: Option[String])
关于scala - 如何在 Play 框架中处理可选查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9657163/
我是一名优秀的程序员,十分优秀!