Springfox - можно ли задокументировать POJO с помощью аннотации, если он не используется в контроллере

Как говорится в заголовке, можно ли включить POJO в документ swagger, если он не используется в методе контроллера?

Я пробовал использовать аннотацию @ApiModel в классе POJO, то есть:

@ApiModel("POJO")
public class Pojo {
  ...
}

Однако, если POJO не возвращается контроллером, мне не удалось отобразить его в сгенерированных документах swagger. Есть ли способ добиться этого?

Кстати, я использую springfox версии 2.9.2.

Я не думаю, что у вас есть документация для модели, которая нигде не используется в контроллере. Если вы используете аннотации ApiOperation, ApiParam или ApiResponse. Затем он должен быть включен в остальные документы / swaggar.yml.

Gaurav Srivastav 16.10.2018 20:25
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
1
688
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это возможно с помощью Springfox. Вам просто нужно изменить свой Docket. Добавьте метод additionalModels в вашу реализацию Docket:

@Autowired
private TypeResolver resolver;

@Bean
public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.any())
            .paths(PathSelectors.any())
            .build()

            ...

            .additionalModels(resolver.resolve(Pojo.class));
}

Другие вопросы по теме