我已经为 Cloud Foundry 部署了 Registry、Gateway 和一个微服务。该微服务在注册表中可用,并且在网关中也已成功注册。
当尝试在 Swagger UI 中调用调用时,Swagger 生成的 url 如下所示:
https://<microservice_route_with_port>/api/service_name/api/action_name
以上失败并出现“服务器无响应”错误。
通过 Swagger UI 调用时,我期望的 URL - 并且通过 Curl 调用验证可以正常工作 - 是:
https://<gateway_route_without_port>/service_name/api/action_name
顺便说一句,通过 CURL 或 POSTMAN 的直接服务调用也可以正常工作(绕过网关):
https://<service_route_without_port>/api/action_name
application.yml 文件具有以下配置:
eureka:
instance:
prefer-ip-address: false
hostname: ${vcap.application.uris[0]}
- 将微服务部署到 PCF 时,Swagger 如何指向 gateway_url_without_port?(我使用 jHipster cloudfoundry subgenerator 将服务部署到 PCF,所以它应该在内部处理这个问题?)
- 我是否需要在swagger-ui/index.html或子生成器代码的其他地方将 baseUrl 指向与网关相同?
- 或者,这可以通过指定显式路由在manifest.yml中完成吗?
谢谢!