Jul*_*rer 9 java rest swagger spring-boot springfox
我正在尝试更改 API 文档的基本访问 url。网址是“ http://localhost:8080/swagger-ui.html ”。我想得到类似“ http://localhost:8080/myapi/swagger-ui.html ”的东西。
我使用的是 Springfox 2.8.0 Swagger、Java 8、Spring Boot 2.0 的 swagger 配置是:
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
@Bean
public Docket api(ServletContext servletContext) {
return new Docket(DocumentationType.SWAGGER_2)
.pathProvider(new RelativePathProvider(servletContext) {
@Override
public String getApplicationBasePath() {
return "/myapi";
}
})
.select()
.apis(RequestHandlerSelectors.any())
.paths(Predicates.not(PathSelectors.regex("/error")))
.build()
.useDefaultResponseMessages(false);
}
}
Run Code Online (Sandbox Code Playgroud)
自定义路径提供程序必须提供帮助,但我仍然可以通过使用 url“ http://localhost:8080/swagger-ui.html ”访问 api 文档。如果我使用 url " http://localhost:8080/myapi/swagger-ui.html ",我会收到404 错误。看看下面的截图。
这是更改文档的基本 url 的工作配置:
springfox:
documentation:
swaggerUi:
baseUrl: /documentation
openApi:
v3:
path: /documentation/v3/api-docs
swagger:
v2:
path: /documentation/v2/api-docs
Run Code Online (Sandbox Code Playgroud)
Swagger 基本访问 url 是根据您的基本应用程序路径构建的。因此,如果您更改基本应用程序路径,您将获得所需的行为。而且您的所有 api 也将更改为该路径。您可以在此处找到如何更改它如何在 Spring Boot 中设置剩余的基本 url?。
你所做的只是改变了 swagger 从你的应用程序调用其他 api 的方式,而不是改变他的基本 url。有一些技巧可以在不更改应用程序基本路径的情况下更改 swagger 基本 url(手动移动所有 swagger 资源),但我不建议这样做。
| 归档时间: |
|
| 查看次数: |
24068 次 |
| 最近记录: |