springfox включает не-publi c классы в сгенерированную спецификацию Swagger - PullRequest
0 голосов
/ 07 мая 2020

Я работаю над программой в Spring Boot и использую springfox для создания моего Swagger spe c. Мне это в основном нравится, но я сталкиваюсь с одной конкретной c проблемой.

Прежде чем я объясню проблему, позвольте мне описать ситуацию.

Я использую специальный запрос и ответ классы, которые в контроллере конвертируются в классы logi c. Таким образом, я мог легко добавлять отношения и данные в свои классы logi c, которые не нужно открывать API. Например, у меня есть объект, отслеживающий отношения между пользователями, с именем Follow. По сути, это просто объект, используемый для представления отношений «многие ко многим» в JPA. Пользователи могут запрашивать своих подписчиков с помощью API, который затем просто возвращает список пользовательских объектов. Класс Follow никогда не предоставляется API и не возвращается и не ожидается в качестве запроса.

Тем не менее, когда я генерирую swagger, Follow и его встроенный идентификатор FollowId отображаются в spe c (усечено для краткости):

  Follow:
    type: object
    properties:
      followed:
        $ref: '#/definitions/User'
      follower:
        $ref: '#/definitions/User'
      id:
        $ref: '#/definitions/FollowId'
    title: Follow
  FollowId:
    type: object
    properties:
      ...
    title: FollowId

Есть ли способ предотвратить генерацию моделей в swagger spe c для этих внутренних классов?

Я бы предпочел одну конфигурацию, которую можно где-то изменить. Если это невозможно, также можно использовать аннотацию.

...