Sab*_*ina 7 spring swagger swagger-ui springfox
我正在构建一个应用程序,我希望有两个 swagger url:
http://localhost:8080/order-swagger.ui.html
http://localhost:8080/inventory-swagger.ui.html
我读了很多文章但没有找到任何解决方案。我发现定义两个 doket bean 但它并不能有效地构建两个 html 页面。它在右上角的下拉列表中创建 2 个项目。
如果您能提供如何操作,我们将不胜感激。
除了这两个Docketbean 之外,您还可以添加几个 URL 重定向规则来路由/order-swagger.ui.html并/inventory-swagger.ui.html选择/swagger-ui.html正确的组。我定义了一个WebMvcConfigurerbean 来执行重定向,然后获得了两个单独的 URL,http://localhost:8080/order-swagger.ui.html并分别显示了和端点http://localhost:8080/inventory-swagger.ui.html的 API 定义。Bean定义如下:/order/inventory
@Bean
public Docket orderDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("order")
.select().paths(path -> path.endsWith("/order"))
.build();
}
@Bean
public Docket inventoryDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("inventory")
.select().paths(path -> path.endsWith("/inventory"))
.build();
}
@Bean
public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController("order-swagger.ui.html", "/swagger-ui.html?urls.primaryName=order");
registry.addRedirectViewController("inventory-swagger.ui.html", "/swagger-ui.html?urls.primaryName=inventory");
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1944 次 |
| 最近记录: |