您好,我在使用 JSON 正文解析器时遇到了问题。
我的问题是以下我有一个带有一些可选参数 (Option[T]) 的案例类和一个带有默认值的参数,我不想将其输入为 Option[T]。
但是,当解析具有省略默认值的字段的 JSON 正文时,我收到一个错误
play.api.libs.JsError
/count error path missing
这是我的 Controller 代码:
object MyController extends Controller{
implicit val itemWrites = Json.writes[Item]
implicit val itemReads = Json.reads[Item]
implicit val itemFormats = Json.format[Item]
def add = DBAction(parse.json){ implicit rs =>
val item = rs.request.body.validate[Item]
}
这是我的案例类:
case class Item( id:Option[Int], name:String, description:Option[String], count:Int=0)
我是否有机会使用默认值字段实现与 Option[T] 相同的行为?
谢谢
我正在使用 :
最佳答案
几乎。您可以使用 Option 定义默认值,如下所示:
case class Item( description:Option[String] = Some("String"))
如果你绝对不想要一个选项,你可以看看这里:
Defaults for missing properties in play 2 JSON formats
关于json - Play Scala JSON 正文解析器默认值字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20629758/