SpringFox Swagger UI有错误的基本URL

问题描述 投票:0回答:1

我迷上了Spring fox swagger ui base url,他们没有指向正确的url。

我只是在一个上下文中部署了一场战争,所以应用程序在127.0.0.1:8080/bff,我设法增加了招摇和成功,现在它在127.0.0.1:8080/bff/swagger-ui.html运行,但当我尝试测试api它指向127.0.0.1:8080/bff/v2/api-docs/api/v1/home/profile。为什么有v2/api-docs!?

我知道swagger-ui上的API列表是从那个填充的,但是为什么在我们测试API时它被注入URL?因为我的所有API都在127.0.0.1:8080/bff/api/v1

这是截图enter image description here

这是代码。

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Autowired
    private GitVersionPropertiesConfig gitVersionPropertiesConfig;

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .globalOperationParameters(
                        Lists.newArrayList(new ParameterBuilder()
                                .name("Authorization")
                                .description("OAUTH2 Token")
                                .modelRef(new ModelRef("string"))
                                .parameterType("header")
                                .required(false)
                                .build()))
                .apiInfo(apiInfo())
                .pathMapping("/")
                .pathProvider(new RelativePathProvider(null) {
                    @Override
                    public String getApplicationBasePath() {
                        return "/bff/";
                    }
                })
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.regex("/api.*"))
                .build();
    }

    ApiInfo apiInfo() {
        String desc = "Bima Friends Forever API<br>"
                + "Current Branch    : <b>"+gitVersionPropertiesConfig.getGitBranch()+"</b><br>"
                + "Timestamp         : <b>"+gitVersionPropertiesConfig.getGitBuildTime()+"</b>";
        return new ApiInfoBuilder()
                .title("BFF - Hutchison")
                .description(desc)
                .version(gitVersionPropertiesConfig.getGitCommitIdAbbrev())
                .build();
    }
}

这是临时修复,但不是永久修复。

打开浏览器控制台并运行window.swaggerUi.api.setBasePath('/ bff');

服务器:Wildfly Swagger UI版本:2.7.0

提前致谢。

spring swagger swagger-ui springfox
1个回答
0
投票

我设法解决它..罪魁祸首是jboss-web.xml上下文

先前

<jboss-web>
    <context-root>/bff/</context-root>
</jboss-web>

修复:

<jboss-web>
    <context-root>/bff</context-root>
</jboss-web>

哦,我的上帝...

© www.soinside.com 2019 - 2024. All rights reserved.