#swagger #jhipster #jhipster-gateway
#swagger #jhipster #jhipster-шлюз
Вопрос:
Я получаю эту ошибку с помощью jhipster webflux, ошибка приложения шлюза (JWT) Приложение -> реестр -шлюз (angular) — несколько служб (webflux) http://localhost:8080/admin/docs
«тип»: «https://www.jhipster.tech/problem/problem-with-message «, «заголовок»: «Не найден», «статус»: 404, «подробности»: «404 NOT_FOUND», «путь»: «/swagger-ui.html «, «сообщение»: «ошибка.http.404»
.yo-rc.json
{
"generator-jhipster": {
"promptValues": {
"packageName": "org.abc.gateway",
"nativeLanguage": "en"
},
"jhipsterVersion": "6.10.3",
"applicationType": "gateway",
"baseName": "gateway",
"packageName": "org.abc.gateway",
"packageFolder": "org/abc/gateway",
"serverPort": "8080",
"authenticationType": "jwt",
"cacheProvider": "no",
"enableHibernateCache": false,
"websocket": false,
"databaseType": "mongodb",
"devDatabaseType": "mongodb",
"prodDatabaseType": "mongodb",
"searchEngine": false,
"messageBroker": false,
"serviceDiscoveryType": "eureka",
"buildTool": "maven",
"enableSwaggerCodegen": true,
"jwtSecretKey": "XXXXXXXXXXXXXXXX",
"embeddableLaunchScript": false,
"useSass": true,
"clientPackageManager": "npm",
"clientFramework": "angularX",
"clientTheme": "none",
"clientThemeVariant": "",
"creationTimestamp": 1602227915588,
"testFrameworks": ["gatling", "cucumber", "protractor"],
"jhiPrefix": "jhi",
"entitySuffix": "",
"dtoSuffix": "DTO",
"otherModules": [],
"enableTranslation": true,
"nativeLanguage": "en",
"languages": ["en", "hi"],
"blueprints": [],
"reactive": true
}
}
Ошибка при инициализации swagger
java.lang.Ошибка NoSuchMethodError: springfox.documentation.spi.service.contexts.ParameterContext.(Lspringfox/documentation/service/ResolvedMethodParameter;Lspringfox/documentation/builders/ParameterBuilder;Lspringfox/documentation/spi/service/contexts/DocumentationContext;Lspringfox/documentation/spi/schema/GenericTypeNamingStrategy;Lspringfox/documentation/spi/service/contexts/OperationContext;)V
Что мне нужно проверить, чтобы включить swagger в проектах spring-Webflux..
Ответ №1:
Я обнаружил проблему в проекте jhipster: https://github.com/jhipster/generator-jhipster/issues/12072#issuecomment-683282300
Чтобы исправить это :
1- обновите зависимости (удалите старые зависимости)
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>${springfox.version}</version>
<exclusions>
<exclusion>
<groupId>io.springfox</groupId>
<artifactId>springfox-bean-validators</artifactId>
</exclusion>
<exclusion>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-bean-validators</artifactId>
<version>${springfox.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.version}</version>
</dependency>
2 — обновите путь «/ v2 / api-docs» до «/v3 / api-docs» во всем проекте (передний задний)
3 — в docs.component.html
измените URI
<iframe src="./swagger-ui/" width="100%" height="900" seamless
target="_top" title="Swagger UI" class="border-0"></iframe>
4 — У меня была проблема с безопасностью.
Я разрешаю ресурсу swagger разрешать все SecurityConfiguration
Поскольку я отключаю Swagger в производственном профиле spring, для меня это не проблема.