我有一个javaspring引导rest控制器,它接受一个java对象。
@PutMapping(path = "api/v1/examples/{id}/update")
public ResponseEntity<Void> updateExample(@PathVariable("id") String personsId, @RequestBody ExampleDto dto) {
return ResponseEntity.noContent().build();
}
示例如下
public class Example {
@ApiModelProperty(example = "2021-02-18T13:45:07+02:00", notes = "Date pattern is yyyy-MM-dd'T'HH:mm:ssZ example value 2021-02-18T13:45:07+02:00")
private ZonedDateTime date;
public String getDate() {
return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"));
}
public void setDate(String date) {
this.date = ZonedDateTime.parse(date, DateTimeFormatter.ISO_OFFSET_DATE_TIME);
}
}
这是我喜欢的方式。它正确地生成swagger文件,并在swaggerui中建议我的dto可以用setdate(string date)方法解析的正确值。
但是我想做一个可重用的组件,我可以把它添加到我的api dto中,这样我就不用创建所有的方法了。
如果我想添加多个日期字段,我的代码应该是这样的。
public class Example {
@ApiModelProperty(example = "2021-02-18T13:45:07+02:00", notes = "Date pattern is yyyy-MM-dd'T'HH:mm:ssZ example value 2021-02-18T13:45:07+02:00")
private ZonedDateTime date;
public String getDate() {
return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"));
}
public void setDate(String date) {
this.date = ZonedDateTime.parse(date, DateTimeFormatter.ISO_OFFSET_DATE_TIME);
}
@ApiModelProperty(example = "2021-02-18T13:45:07+02:00", notes = "Date pattern is yyyy-MM-dd'T'HH:mm:ssZ example value 2021-02-18T13:45:07+02:00")
private ZonedDateTime dateTwo;
public String getDateTwo() {
return dateTwo.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"));
}
public void setDateTwo(String date) {
this.dateTwo = ZonedDateTime.parse(date, DateTimeFormatter.ISO_OFFSET_DATE_TIME);
}
}
我想知道我是否能做这样的事。
@Getter
@Setter
public class Example {
private MyDateType date;
private MyDateType dateTwo;
}
我已经可以做到了。但是我的json看起来像这样。
{
"date": {
"innerDate": "2021-02-18T13:45:07+02:00"
},
"dateTwo": {
"innerDate": "2021-02-18T13:45:07+02:00"
},
}
我希望json看起来像这样
{
"date": "2021-02-18T13:45:07+02:00",
"dateTwo": "2021-02-18T13:45:07+02:00"
}
暂无答案!
目前还没有任何答案,快来回答吧!