【发布时间】:2018-05-07 14:02:28
【问题描述】:
在我的控制器中,我有:
@RequestMapping(path = "/add", method = POST, produces = "application/json; charset=UTF-8")
public ResponseEntity<Object> saveData(@Valid @RequestBody ReceivedDTO dto)
在ReceivedDTO我有一个字段:
@JsonProperty("end_date")
@NotNull
private Date endDate;
我需要endDate 加入ISO-8601(例如2007-04-05T14:30Z)。
是否可以在DTO 级别上验证endDate?
【问题讨论】:
-
设置你需要的模式@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
-
@Mikhail 我知道
@JsonFormat,但我无法使用它。你的提议给了我JSON parse error: Can not deserialize value of type java.util.Date from String \"2018-05-07T14:30Z\": expected format \"yyyy-MM-dd HH:mm\" -
你也可以编写自己的验证器
-
在您的配置文件中:
spring.jackson.date-format=com.fasterxml.jackson.databind.util.ISO8601DateFormat
标签: java date spring-boot iso8601