【问题标题】:How to hide only one mapping from swagger ui documentation if I more than one mapping for method in Spring boot如果我在 Spring boot 中使用多个方法映射,如何仅从 swagger ui 文档中隐藏一个映射
【发布时间】:2021-06-29 01:55:41
【问题描述】:
我有一个映射到多个映射的弹簧引导休息控制器方法。请在下面找到示例代码。
@RestController
public class HomeController {
@RequestMapping( {"/", "/home"} )
public String home() {
return "Hello, World!";
}
}
我想从 swagger 文档中隐藏 /home 映射。
谁能帮我实现这个目标。
【问题讨论】:
标签:
java
spring-boot
swagger
swagger-ui
swagger-2.0
【解决方案1】:
我还搜索了一种方法来隐藏多个映射方法中的某些 URL。不幸的是,我认为多重映射不可能像这样定义 @RequestMapping( {url1, url2} )
有两种替代方法:
-
将您的方法拆分为 2 个调用相同函数的方法,并使用 @Operation(hidden=true) 注释您要隐藏的方法
-
在您的 swagger 配置中定义异常(对于使用开放 API 的 swagger 3):
@Configuration
public class SwaggerConfig {
@Bean
public GroupedOpenApi myApi()
{
return GroupedOpenApi.builder()
.pathsToMatch("/**")
.pathsToExclude("/home")
.build();
}
}