如何在 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。
我有 spring-mvc 应用程序,我已经嵌入了 RestAPI。一切正常,我的休息 api 映射到 /rest/*
url。当我添加 SwaggerConfig 它已经开始识别我的控制器,但是当我在 swagger-ui 中尝试它时(gui 形式以简化消费者与 api 的交互)
我有 404 未找到状态。因为这试过了
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。