部署到Cloud Foundry时,jHipster Swagger UI路径问题

时间:2017-07-12 18:43:01

标签: jhipster swagger-ui pivotal-cloud-foundry jhipster-registry

我已将部署注册表,网关和微服务部署到Cloud Foundry。微服务在注册表中可用,并且已在Gateway中成功注册。

当尝试在Swagger UI中调用调用时,Swagger生成的URL会这样:

https://<microservice_route_with_port>/api/service_name/api/action_name

以上内容失败,&#34; 服务器无响应&#34;错误。

当通过Swagger UI调用时,我期望的URL - 以及通过Curl调用验证可以正常工作的URL - 是:

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]}
  1. 在将微服务部署到PCF时,Swagger如何指向gateway_url_without_port? (我已经使用jHipster cloudfoundry子生成器将服务部署到PCF,所以它应该在内部处理它?)
  2. 我是否需要将baseUrl指向与 swagger-ui / index.html 中的网关或子生成器代码中的其他位置相同?
  3. 或者,这是否可以通过明确路由来在 manifest.yml 中完成?
  4. 谢谢!

1 个答案:

答案 0 :(得分:0)

通过指定主机名

,暂时解决了该问题
Docket docket = new Docket(DocumentationType.SWAGGER_2)
            .host(GATEWAY_ROUTE_WITHOUT_PORT) //Add
            .apiInfo(apiInfo)
            .forCodeGeneration(true)
            .genericModelSubstitutes(ResponseEntity.class)
            .select()
            .paths(regex(DEFAULT_INCLUDE_PATTERN))
            .build();