使用swagger配置api文档,接口的访问路径和实际的有差别的解决办法

在swagger ui 的页面上有:

Base URL:

如果没有特别设定,那么显示的就是服务器的地址。接口的测试的url是由Base URL + 接口的path。一般情况下是没有问题的。但是我这边代码部署到服务器后,访问地址变成了 :服务器的地址+项目name,这样的话,base Url显示其实就有问题了,少了项目name。同时,接口的测试url也会错误,缺少项目name。

解决一:

    @Bean
    @Primary
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
//            .groupName(appName)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                .paths(PathSelectors.any())
                .build()
                //下面这个设置就是在接口的path前加上project-name
                .pathMapping("/project-name");
    }

解决二:

#在yml文件中。会重新设置base url,也就是把base url固定了,本地测试的话,base url也是下面的值,而不是127.0.0.1:8080。
springfox:
  documentation:
    swagger:
      v2:
        host: yourapp.abc.com/project-name

 

你可能感兴趣的:(javs)