在RestController上分配转换器和默认值,获取带有DTO参数的请求

时间:2018-10-27 15:20:16

标签: java spring rest spring-mvc spring-rest

我的端点有很多字段,因此我将它们封装在一个类中,并使用了@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
   }

对此是否有适当的解决方案,或者我正在考虑一种无效的方法?

0 个答案:

没有答案