我正在尝试执行一个验证规则,即输入 Json 中的时间戳必须使用 format 指定时区DateTimeFormatter.ISO_OFFSET_DATE_TIME
。当输入不正确时,我想返回一条表明格式错误的消息。
此代码段用于以预期格式解析数据:
implicit val instantReads = Reads[Instant] {
js => js.validate[String].map[Instant](tsString =>
Instant.from(OffsetDateTime.parse(tsString, DateTimeFormatter.ISO_OFFSET_DATE_TIME))
)
}
但是会抛出一个DateTimeParseException
if 格式错误。
如何修复它以返回JsError("Wrong datetime format")
而不是抛出异常?