Swagger-ui не скрывает вложенный объект readOnly из тела примера - PullRequest
0 голосов
/ 24 ноября 2018

Я разрабатываю приложение для весенней загрузки с swagger-ui и lombok.В настоящее время я пытаюсь скрыть вложенный объект от тела запроса, но он по-прежнему показывает пример json на странице swagger-ui.

У меня есть класс с аннотациями (упрощено только для связанных вещей):

@Data
@ApiModel(description = "Character model")
public class Character {

    @ApiModelProperty(readOnly = true)
    private Long id;

    @ApiModelProperty(readOnly = true)
    private SearchAnnouncement searchAnnouncement;
}

Примечание: @Data - это аннотация Lombok, которая генерирует геттеры, сеттеры и некоторые другие вещи

Когда я обращаюсь к образцу модели на странице сваггера, поле «id» правильно скрывается в примере json и отображается в ответемодель.Но «searchAnnouncement» не скрывается в примере json.

Я пытался:
  • , используя readOnly = true
  • , используя accessMode = ApiModelProperty.AccessMode.READ_ONLY
  • , используя @Setter(AccessLevel.NONE), который предотвращает генерацию сеттера для этого поля, так как я где-то читал, что что-то проверяет, существует ли сеттер, и устанавливает readOnly на основании
  • различных комбинаций выше

но во всех случаях пример json выглядит следующим образом (идентификатор скрыт, а searchAnnouncement видим):

{
    "searchAnnouncement": {
         "id": 0,
    },
}

Короче, мой вопрос таков:

Можно ли скрыть вложенный пример jsonобъект?

РЕДАКТИРОВАТЬ: Забыл упомянуть, что у меня в настоящее время есть swagger2 и swagger-ui с версией 2.9.2 в моих зависимостях, но я перешел с 2.8.0 в надежде скрыть этот вложенный объект

...