我正在尝试在Quarkus中配置Swagger。 我的Quarkus版本:1.9.2.Final
我的依赖性:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-openapi</artifactId>
</dependency>
我的财产资源:
quarkus.swagger-ui.path=/swagger-ui
quarkus.swagger-ui.always-include=true
当我使用以下命令启动我的应用程序时:mvn编译quarkus:dev并转到该URL:
http://localhost:8080/swagger-ui_not_found/
但是,如果我用maven制作一个软件包(mvn软件包),然后启动jar,则返回相同的URL:
RESTEASY003210: Could not find resource for full path
这是跟踪:
2020-11-10 07:58:08,244 DEBUG [org.jbo.res.res.i18n] (executor-thread-1) RESTEASY002315: PathInfo: /favicon.ico
2020-11-10 07:58:08,246 DEBUG [org.jbo.res.res.i18n] (executor-thread-1) RESTEASY002305: Failed executing GET /favicon.ico: javax.ws.rs.NotFoundException: RESTEASY003210: Could not find resource for full path: http://localhost:8080/favicon.ico
at org.jboss.resteasy.core.registry.ClassNode.match(ClassNode.java:70)
at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:47)
at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:481)
at org.jboss.resteasy.core.SynchronousDispatcher.getInvoker(SynchronousDispatcher.java:332)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:253)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:161)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
我在Quarkus guides中看到,如果您设置以下内容:
quarkus.swagger-ui.always-include = true
您也可以在生产中使用它,但就我而言,它不起作用。
有什么想法吗?
谢谢。
答案 0 :(得分:2)
您要查找的是swagger-ui页面还是包含链接的404页面? 据我所知,带有链接的404仅在DEV模式下可用。
答案 1 :(得分:-1)
通过将quarkus.swagger-ui.always-include=true
添加到application.properties
,您还将在产品模式jar中获得SwaggerUI(可从http:// localhost:8080 / swagger-ui /访问)
有关更多详细信息,请参见documentation。
还请注意,此属性是 build-time 属性,因此在运行时更改它无效。