【发布时间】:2015-10-03 03:37:54
【问题描述】:
我正在使用 Play Framework 2.3 从 UI 向我的控制器发出的 Json 请求包含整数列表
我想验证并将其解析为 scala 列表,所以我使用 implicit Reads
我面临的问题是,当我用这样的列表实现我的读取时
case class MgsValidation( mgsidlist : List[Int])
object MgsValidation{
implicit val readmgs : Reads[MgsValidation] = (
(JsPath \ "mgslist").read[List[Int]]
)(MgsValidation.apply _)
}
我收到以下错误
使用替代方法读取的重载方法值:
[错误] (t: List[Int])play.api.libs.json.Reads[List[Int]]
[错误](隐式 r: play.api.libs.json.Reads[List[Int]])play.api.libs.json.Reads[List[Int]]
[error] 不能应用于 (List[Int] => models.JsonParsing.MgsValidation)
[错误] (JsPath\"mgslist").read[List[Int]]
但是如果我添加任何其他像这样的随机参数
case class MgsValidation( uuid :Int , mgsidlist : List[Int])
object MgsValidation{
implicit val deleteread : Reads[MgsValidation] = (
(JsPath \ "uuid").read[Int] and
(JsPath \ "mgslist").read[List[Int]]
)(MgsValidation.apply _)
}
效果很好
但我只想验证和解析列表
我该怎么做?
另外请告诉我为什么这个 Reads 在多个参数下都能正常工作?
【问题讨论】:
标签: json scala validation playframework-2.3