SpringFox Swagger UI 有错误的基础 url
SpringFox Swagger UI has wrong base url
我对 spring fox swagger ui base url 感到困惑,他们没有指向正确的 url。
我刚刚在上下文中部署了一个 war,所以该应用程序在 127.0.0.1:8080/bff
中,我设法添加了 swagger 和成功,现在它的 运行 在 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
这是截图
这是代码。
@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();
}
}
这是临时修复,但不是永久修复。
Open browser console and run window.swaggerUi.api.setBasePath('/bff');
服务器:野飞
招摇 UI 版本:2.7.0
提前致谢。
我设法修复了它。罪魁祸首是 jboss-web.xml 上下文
之前
<jboss-web>
<context-root>/bff/</context-root>
</jboss-web>
修复:
<jboss-web>
<context-root>/bff</context-root>
</jboss-web>
我的天啊...
我对 spring fox swagger ui base url 感到困惑,他们没有指向正确的 url。
我刚刚在上下文中部署了一个 war,所以该应用程序在 127.0.0.1:8080/bff
中,我设法添加了 swagger 和成功,现在它的 运行 在 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
这是截图
这是代码。
@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();
}
}
这是临时修复,但不是永久修复。
Open browser console and run window.swaggerUi.api.setBasePath('/bff');
服务器:野飞 招摇 UI 版本:2.7.0
提前致谢。
我设法修复了它。罪魁祸首是 jboss-web.xml 上下文
之前
<jboss-web>
<context-root>/bff/</context-root>
</jboss-web>
修复:
<jboss-web>
<context-root>/bff</context-root>
</jboss-web>
我的天啊...