如何在 spring-mvc 中为 springfox(更确切地说 springfox-swagger2)设置主机 url?

How to set host url for springfox (more exact springfox-swagger2) in spring-mvc?

我有 spring-mvc 应用程序,我已经嵌入了 RestAPI。一切正常,我的休息 api 映射到 /rest/* url。当我添加 SwaggerConfig 它已经开始识别我的控制器,但是当我在 swagger-ui 中尝试它时(gui 形式以简化消费者与 api 的交互)

我有 404 未找到状态。因为这试过了 这不会对有效 url

提出请求
http://localhost:8080/ProductCatalog/rest/branch?id=1

虽然 SwaggerConfig 映射到正确的 url,因为我在写入时得到了这个 GUI 表示

http://localhost:8080/ProductCatalog/rest/swagger-ui.html

root url 上有应用程序的主要部分(这不是我工作的部分)我的部分映射到 /rest/* 我怎样才能在 /rest/* 上也更改此 "try it out" url? 我的 SwaggerConfig

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket pscApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                //.groupName("PSC");
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("restService.com.websystique.springmvc"))
                .paths(PathSelectors.any())
                .build();
        //PathSelectors.regex("/api/.*")
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("RestApiOfPSC")
                .description("REST API for PSC.")
                .build();
    }
}

我也指定了这个

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

抱歉我的英语不好,在此先感谢

我知道怎么做了。

docket.pathMapping("/rest");

有时你需要换个方式 在你的 Docket bean 中写 docket.host("your host url"); 更准确地阅读我的问题 https://github.com/springfox/springfox/issues/1468

并阅读参考#issue1050。