Swagger - весенняя загрузка скрывает атрибут модели для запроса - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть приложение Spring Boot, которое предоставляет REST API через @RestController. Я задокументировал контроллеры с помощью Swagger2. Тип возвращаемого значения контроллера - DTO, упрощенные версии моих сущностей. У меня есть ProjectDTO, который делается следующим образом:

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class ProjectDto {

private Long id;
private String name;
private Long projectTypeId;
private String projectTypeName;
private List<DeviceDto> devices;
private String companyName;
private String logo;
//Getters and setters ...
}

Проблема в том, что для некоторых запросов (когда пользователю требуются сведения только об одном проекте) я включаю в запрос список устройств, но для запросы, которые запрашивают список проектов, я не возвращаю список устройств, чтобы держать свет ответа. Как я могу документировать это? Я хочу, чтобы SwaggerUI отображал поле «устройства» только для некоторых запросов. Я не могу использовать @JsonIgnore или @ApiModelProperty, потому что они работают на модели, а не на запросе. Единственный способ создать другую модель?

...