Как скрыть JsonProperty в DTO? - PullRequest
1 голос
/ 13 июля 2020

Я использую DTO как для вставки объекта, так и для поиска, который возвращает данные.

в частности, мне было интересно понять, есть ли способ скрыть некоторые поля:

    private List <aDTO> sos;

    private List <aDTO> sosPast;

    private List <aDTO> sosPresentFuture;

sos используется при записи для вставки списка объектов. в исследовании мне нужны два отдельных элемента, один из которых возвращает прошлые объекты, другой возвращает настоящие и / или будущие объекты.

поэтому при вставке мне нужно будет показать только

    private List <aDTO> sos;

в исследовании мне нужно будет показать только

    private List <aDTO> sosPast;
    private List <aDTO> sosPresentFuture;

(в исследовании проблема решалась вставкой

    @Mapping(target = "sos", ignore = true)

в маппер)

Теперь мне нужно что-то, чтобы скрыть два списка (sosPast и sosPresentFuture) от Swagger, чтобы оставить только список sos.

Было бы неплохо иметь возможность игнорировать источник, это было бы наоборот игнорирование цели.

Ответы [ 2 ]

0 голосов
/ 17 июля 2020

Кажется, я решил проблему следующим образом:

@JsonProperty("sosPast")
@ReadOnlyProperty
@ApiModelProperty(hidden = true)
private List<aDTO> sosPast;

@JsonProperty("sosPresentFuture")
@ReadOnlyProperty
@ApiModelProperty(hidden = true)
private List <aDTO> sosPresentFuture;
0 голосов
/ 13 июля 2020
  1. Если вы хотите что-то скрыть от Swagger, вы можете использовать @ApiModelProperty(hidden = true).
  2. Если вы хотите полностью удалить поле из сериализации с помощью jackson, вы можете сделать @JsonIgnore в своем ответе DTO .

Это помогает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...