У меня есть конечная точка с множеством полей, поэтому я заключил их в один класс и использовал @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
}
Есть ли какое-то правильное решение для этого, или я рассматриваю неправильный подход?