【发布时间】:2017-10-30 14:43:08
【问题描述】:
我正在构建一个 API,它接受可变路径参数或路径的动态部分,正如播放文档所指定的那样。
我想对此进行验证,以便为客户提供适当的响应。
我有以下路线设置
GET /:dynamic/all controller.method(dynamic: String)
该方法的 dynamic 参数在 API 中用于多种方法,因此我想获得某种可接受字符串的全局验证/白名单。 (例如:"hello"/"hi" 将被接受,"noooway" 将不被接受,我将返回 404 not found 作为响应。
我希望我的控制器方法不包含任何验证,这样就可以了:
def method(dynamic: String): Action[AnyContent] = Action.async { _ =>
//I already know "dynamic" is valid here.
Future.successful(Ok(Json.toJson(Map("status" -> "OK"))))
}
而不是:(请原谅我的 javaisc-psuedo-code)
def method(dynamic: String): Action[AnyContent] = Action.async { _ =>
val valid = Helper.validate(dynamic)
if (!valid) return some result/response else
Future.successful(Ok(Json.toJson(Map("status" -> "OK"))))
}
【问题讨论】:
标签: scala validation routes playframework-2.0