Я следовал инструкциям, описанным здесь: 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 и делает ответ недействительным.
Где могла быть проблема?
Спасибо!
Это не пользовательский сервлет, это сервлет jersey <servlet-class> com.sun.jersey.spi.container.servlet.ServletC ontainer </ servlet-cl ass>. Без весеннего ботинка
Добавьте в вопрос полный сервлет.
<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?
Я обнаружил проблему в фильтре.
Привет Венди. Я недавно реализовал swagger без пружины, используя swagger-jaxrs, как и вы. Если вы можете обновить свой вопрос правильно всей необходимой информацией, я буду более чем счастлив помочь вам.
Привет, Николас, большое спасибо! Я обнаружил проблему в своем собственном фильтре при отправке запроса, я исправил ее, теперь swagger работает с пружиной или без нее.
Рад слышать. Либо вы можете ответить на свой вопрос, либо удалить его, так как вы его уже решили :)
Как его удалить?
Под вопросом есть опция удаления. См. Как удалить вопрос?
Привет, Николас, у меня нет возможности удалить. Если вы можете удалить, пожалуйста, удалите для меня. Спасибо!




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