如何为Quarkus生成的OpenAPI路径添加/foobar前缀?
解决方案
要让Quarkus生成的OpenAPI规范路径带上/foobar前缀,有两种可行方案:
方案一:直接给OpenAPI路径添加前缀
在application.properties中添加以下配置,让生成的OpenAPI所有路径自动带上指定前缀:
smallrye.openapi.paths-prefix=/foobar
配置后生成的OpenAPI规范会直接变成你期望的格式:
--- paths: /foobar/some/url: get: tags: - blabla responses: "200": description: OK
这个方案会直接修改OpenAPI规范里的路径字段,完全匹配你的需求。
方案二:配置OpenAPI服务器基础路径
如果不想修改路径本身,而是通过OpenAPI的服务器配置来指定基础路径,可添加:
quarkus.openapi.servers.0.url=/foobar
生成的OpenAPI规范会包含服务器配置段:
servers: - url: /foobar paths: /some/url: get: tags: - blabla responses: "200": description: OK
此时Swagger UI在调用接口时,会自动将服务器基础路径与接口路径拼接,实际请求地址为/foobar/some/url,同样满足生产环境的访问需求,且无需修改后端实际接口路径。
补充Swagger-UI配置优化
你之前配置的quarkus.swagger-ui.urls.direct=/foobar/q/openapi可以替换为更简洁的配置,直接指定Swagger-UI加载的OpenAPI地址:
quarkus.swagger-ui.url=/foobar/q/openapi
内容的提问来源于stack exchange,提问作者Marteng
相关产品推荐
相关产品推荐

