我们正在更新我们的文档并为生成的页面添加品牌。我们使用了这里描述的输入(https://quarkus.io/blog/stylish-api/)。然而,由于某些原因,样式在本地工作(当在开发模式下启动Quarkus时),而不是在容器技术中运行它(我们尝试了OpenShift和Docker镜像。未应用css,也未更改徽标。不适用于登录页面,也不适用于生成的swagger页面。我们是否需要做一些额外的设置/事情来让它工作?
在application.properties中设置以下属性
quarkus.swagger-ui.title=Title
quarkus.swagger-ui.filter=true
quarkus.swagger-ui.enable=true
quarkus.swagger-ui.always-include=true我怀疑在构建容器镜像时Quarkus没有提取任何额外的资源(META-INF中)。
结构:
\resources
\META-INF
application.properties
beans.xml
\branding
logo.png
style.css
\resources
favicon.ico
index.html我们可以看到/swagger-ui/style.css是不同的。在dev中运行时,构建进程将style.css从品牌目录复制到/swagger-ui。在构建镜像时(显然)不会发生这种情况。
swagger-ui/文件夹位于runner jar中的META_INF下。它包含错误的css (原始的)。在开发模式下运行quarkus显然会从不同的位置(可能是品牌位置)为该文件夹提供服务,并替换原来的文件夹。
这显然是maven版本中的一些东西。
发布于 2021-03-26 19:22:41
quarkus-maven-plugin需要一个额外的目标(准备),以便在正确的位置包含css。
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>prepare</goal>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>在此之后,应用样式。
发布于 2021-03-26 02:45:02
默认情况下,只有在开发或测试模式下启动Quarkus时,Swagger UI才可用。
如果您想让它在生产中也可用,可以在您的application.properties中包含以下配置:
quarkus.swagger-ui.always-include=truehttps://quarkus.io/guides/openapi-swaggerui#use-swagger-ui-for-development
https://stackoverflow.com/questions/66805720
复制相似问题