我在Kubernetes(spring boot starter父版本2.2.4.RELEASE)中部署了一个带有开放api 3的spring boot应用程序。其余endpoint可以通过入口访问,因此URL类似于:
https://host/ingress-path
我有一个问题,一旦应用程序被部署到入口,api-docs也可以通过:
https://host/ingress-path/v3/api-docs
当我打开斯威格UI我有404,因为斯威格UI似乎正在调查https://host/v3/api-docs...当我打开时
https://host/ingress-path/swagger-ui/index.html
并放入https://host/ingress-path/v3/api-docs
为了“Expore”并运行它,我发现了我所有的API。
有人能建议如何使用一些Spring属性等为UI设置服务器吗?
目前我有这个(从https://host/ingress-path/v3/api-docs.yaml)
openapi: 3.0.1
info:
title: My API
description: My API description
version: v0.0.1
servers:
- url: https://host
description: Generated server url
这个API是自动生成的。我想服务器
必须有url:https://host/ingress-path
似乎我需要具有相对路径的pathProvider,如下所述:
https://github.com/springdoc/springdoc-openapi/issues/170
但我在OpenAPI3中找不到这样的东西。
你能帮帮我吗?
谢谢
另外,我想我可以通过配置来修复它:
springdoc:
api-docs:
enabled: true
path: '/v3/api-docs'
swagger-ui:
path: '/swagger-ui'
config-url: '/ingress-path/v3/api-docs/swagger-config'
url: '/ingress-path/v3/api-docs'
doc-expansion: none
disable-swagger-default-url: true
谢谢库努库姆
我测试了你的代码并确认它正常工作。
关键部分是spring ui。网址
在这里转帖这样可以帮助别人
springdoc:
api-docs:
enabled: true
path: '/v3/api-docs'
swagger-ui:
path: '/swagger-ui'
config-url: '/ingress-path/v3/api-docs/swagger-config'
url: '/ingress-path/v3/api-docs'
doc-expansion: none
disable-swagger-default-url: true
正在使用swagger为我的服务编写API规范。我使用模型定义(“#/definitions/prototype”)作为和routes的主体参数。 如何指定 PATCH 路由仅接受 POST 路由在请求正文中执行的属性子集?例如,我希望 路由仅允许修改 原型属性。
我是弹性搜索的新手,我正在做一个任务,我需要上传更多的文档到ES。无论何时上传,我都需要在IndexRequest API中为该文档指定文档id。是否有任何方法在java使我可以插入文档而不给它的id(即为我的文档创建随机的文档id)。
如前所述,我从JSON中的开放API规范开始。我使用资源将其导入API网关。 在此之后,我将API部署到一个阶段,最后,使用aws cli从此API阶段导出文档: my API中的开放式API参数示例: 当我用上面的aws-cli命令导出它时,我得到: 和属性都已从文档导出中剥离,这是不好的,因为它们确实是此参数文档的主要部分。 还值得一提的是,如果我在AWS控制台(Swagger API网关扩展
我正在使用openapi生成器maven插件从YAML文档生成代码。 以下是我如何配置maven插件以生成接口: 这个插件工作得很好,我得到这样的界面 我正在用这个类实现我的接口: 我已经检查了解决方案,当我执行api调用时,我得到了HTTP状态200,但是当我尝试访问swagger ui页面时,这个apiendpoint没有被记录。有没有办法配置OpenAPI UI或SwaggerUI以指向我的
我想在Rest API(spring-mvc)文档中使用Springfox SwaggerUI。我在@RequestMapping注释中使用版本头,但是如果我有相同方法的两个版本,在SwaggerUI中只能看到一个。 上面的代码导致api文档中只有一个可见的方法。 考虑到我的版本头,是否有任何选项可以将Swagger配置为不同的endpoint?