我的端点有很多字段,因此我将它们封装在一个类中,并使用了@ModelAttribute
端点:
@GetMapping
public Page<VtmsTaskDto> list(@ModelAttribute TaskFilter taskFilter) {
// blabla logic
}
TaskFilterDto.java
@Getter @Setter
public class TaskFilterDto {
private String sortDto;
private ZonedDateTime creationDate;
... bunch of other filters
}
不,我想做一些转换器并为这些道具分配默认值
@JsonDeserialize(converter=CustomConverter.class)
或@JsonProperty(default="someDefaultValue")
之类的东西
但是由于请求使用默认编码的url格式编码,所以我不能使用任何Jackson JSON注释。
所以我想 TaskFilterDto.java 类可以是这样的:
public class TaskFilterDto {
@Converter(SortStringToSortDto.class)
@Default(value="creationDate")
private SortDto sort;
@Converter(ZonedDateTimeToLocalDateTime.class)
private LocalDateTime creationDateInUTC;
... bunch of other filters
}
对此是否有适当的解决方案,或者我正在考虑一种无效的方法?