Неверный swagger.json

Я следовал инструкциям, описанным здесь: https://github.com/swagger-api/swagger-core/wiki/swagger-core-jersey-1.x-project-setup-1.5

У меня есть Джерси 1 и Spring. В pom.xml:

<dependency>
  <groupId>io.swagger</groupId>
  <artifactId>swagger-jersey-jaxrs</artifactId>
  <version>1.5.21</version>
</dependency>  
<dependency>
    <groupId>org.reflections</groupId>
    <artifactId>reflections</artifactId>
    <version>0.9.11</version>
</dependency>  

Мне нужно добавить более новую версию отражений, иначе swagger не будет сканировать и выдавать ошибку. Кстати, тестировал с swagger-jersey-jaxrs 1.5.0 и даже 1.3.8, результат тот же.

Я использую метод Spring Bean (также была протестирована конфигурация джерси, результат тот же), и когда я открываю swagger.json, я получил следующий ответ:

{
  "swagger": "2.0",
  "info": {
    "description": "This is a app.",
    "version": "1.0",
    "title": "Swagger Test",
    "contact": {
      "name": "[email protected]"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "host": "https://test.com:8003",
  "basePath": "/",
  "schemes": [
    "https"
  ]
}

{
  "swagger": "2.0",
  "info": {
    "description": "This is a app.",
    "version": "1.0",
    "title": "Swagger Test",
    "contact": {
      "name": "[email protected]"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "host": "https://test.com:8003",
  "basePath": "/",
  "schemes": [
    "https"
  ]
}

Если я добавлю аннотацию к rest API, она будет подхвачена swaggerм. Единственная проблема заключается в том, что swagger.json включает два одинаковых тела json и делает ответ недействительным.

Где могла быть проблема?

Спасибо!

Вы используете собственный сервлет? Также вы используете Spring Boot?

Nicholas K 22.12.2018 06:35

Это не пользовательский сервлет, это сервлет jersey <servlet-class> com.sun.jersey.spi.container.servlet.ServletC‌ ontainer </ servlet-cl‌ ass>. Без весеннего ботинка

Wendy H 23.12.2018 06:36

Добавьте в вопрос полный сервлет.

Nicholas K 23.12.2018 06:40

<servlet> <servlet-name> service </servlet-name> <servlet-class> com.sun.jersey.spi.spring.container.servlet‌ .SpringServlet </ serv‌ let-class> <init-param> < имя-параметра> com.sun.jersey.config.property.packages </ para‌ m-name> <param-value> com.test.rest.resource </param-value> </init-param> <load- on-startup> 2 </load-on-startup> </servlet> Знаете ли вы, где находится исходный код для создания swagger.json?

Wendy H 02.01.2019 18:14

Я обнаружил проблему в фильтре.

Wendy H 02.01.2019 22:38

Привет Венди. Я недавно реализовал swagger без пружины, используя swagger-jaxrs, как и вы. Если вы можете обновить свой вопрос правильно всей необходимой информацией, я буду более чем счастлив помочь вам.

Nicholas K 03.01.2019 06:01

Привет, Николас, большое спасибо! Я обнаружил проблему в своем собственном фильтре при отправке запроса, я исправил ее, теперь swagger работает с пружиной или без нее.

Wendy H 04.01.2019 17:09

Рад слышать. Либо вы можете ответить на свой вопрос, либо удалить его, так как вы его уже решили :)

Nicholas K 05.01.2019 19:29

Как его удалить?

Wendy H 07.01.2019 18:14

Под вопросом есть опция удаления. См. Как удалить вопрос?

Nicholas K 07.01.2019 18:42

Привет, Николас, у меня нет возможности удалить. Если вы можете удалить, пожалуйста, удалите для меня. Спасибо!

Wendy H 08.01.2019 00:56
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
11
186
0

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