我已经在代码中使用SpringBoot实现了SpringFox Swagger2和Swagger-UI,并且能够记录这些API。我还可以使用本地系统上的http://localhost:8080/api/swagger-ui.html#/
访问Swagger-UI HTML页面。
现在,我已将更改提交到部署在暂存环境中的master分支。但是,当我尝试使用暂存环境URL并将swagger-ui html页面附加到该URL时,将重定向到阶段环境的目标页面。
例如sampleURL.com/api/swagger-ui.html/
。
如何使此swagger-ui页面在我可以在本地访问的所有环境(例如阶段/测试/产品)中都可用?
我的配置:
@Configuration
@EnableSwagger2
class SwaggerConfig {
@Bean
fun tryItOutConfig(): UiConfiguration {
return UiConfigurationBuilder.builder().supportedSubmitMethods(arrayOf("")).build()
}
@Bean
fun myApi(): Docket {
val globalResponses = Arrays.asList(ResponseMessageBuilder()
.code(200)
.message("Success")
.build(), ResponseMessageBuilder()
.code(401)
.message("Unauthorized")
.build(), ResponseMessageBuilder()
.code(403)
.message("Forbidden")
.build(), ResponseMessageBuilder()
.code(404)
.message("Not found")
.build(), ResponseMessageBuilder()
.code(500)
.message("Internal Server Error")
.build())
return Docket(DocumentationType.SWAGGER_2)
.useDefaultResponseMessages(false)
.produces(hashSetOf("application/json") as MutableSet<String>?)
.globalResponseMessage(RequestMethod.GET, globalResponses)
.globalResponseMessage(RequestMethod.POST, globalResponses)
.globalResponseMessage(RequestMethod.DELETE, globalResponses)
.globalResponseMessage(RequestMethod.PUT, globalResponses)
.select()
.apis(RequestHandlerSelectors.basePackage("com.sample.controller"))
.build()
.apiInfo(apiInfo())
}
private fun apiInfo(): ApiInfo {
return ApiInfo(..API Info here..)
}
}
Swagger-UI和Swagger2版本:2.9.2
注意:我需要在其中访问Swagger-UI的环境具有Google OAuth身份验证。
谢谢。