You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Connexion部署后无法访问Swagger UI及对应接口问题求助

问题原因

  1. OpenAPI配置的servers字段和实际运行环境不匹配
    你helloworld-api.yaml中配置的servers.url为http://localhost:9090/swagger,相当于给所有API加上了/swagger路径前缀,且声明的服务端口为9090,但你实际启动服务用的是8080端口,配置和运行环境完全不符,导致所有路由匹配失败。
  2. Swagger UI默认访问路径和你尝试访问的路径不匹配
    Connexion安装swagger-ui扩展后,默认的UI访问路径为/{API根路径}/ui,不是你尝试访问的/swagger。

修复步骤

1. 修正OpenAPI配置

推荐直接删除helloworld-api.yaml中的servers字段即可,Connexion会自动适配当前服务运行的host、端口,默认根路径为/。如果需要自定义API前缀,可以修改为和实际运行一致的配置,示例:

servers:
  - url: http://localhost:8080/

如果你不想修改servers配置,也可以将启动端口改为9090,后续按配置的路径访问即可。

2. 调整访问路径(可选自定义UI路径)

修复配置后重启服务,默认的访问地址如下:

  • Swagger UI 地址:http://localhost:8080/ui
  • greeting接口地址:http://localhost:8080/greeting?name=dave

如果你坚持要通过/swagger路径访问UI,可以在hello.py的add_api方法中添加swagger_url参数指定路径:

app.add_api('helloworld-api.yaml', arguments={'title': 'Hello World Example'}, swagger_url='/swagger')

修改后访问http://localhost:8080/swagger即可正常打开Swagger UI。


内容的提问来源于stack exchange,提问作者seriouslyg0e

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:06:03