如果我在 Spring 引导中有多个方法映射,如何从 swagger ui 文档中仅隐藏一个映射

How to hide only one mapping from swagger ui documentation if I more than one mapping for method in Spring boot

我有一个 spring 引导休息控制器方法,它映射到多个映射。请在下面找到示例代码。

@RestController
public class HomeController {

    @RequestMapping( {"/", "/home"} )
    public String home() {
        return "Hello, World!";
    }

}

我想从 swagger 文档中隐藏 /home 映射。

谁能帮我实现这个。

我还搜索了一种从多重映射方法中隐藏某些 URL 的方法。不幸的是,我认为像这样定义多重映射是不可能的 @RequestMapping( {url1, url2} )

有两种替代方法:

  1. 将您的方法拆分为调用相同函数的 2 个方法,并使用 @Operation(hidden=true)

    注释您要隐藏的方法
  2. 在您的 swagger 配置中定义异常(对于使用 open API 的 swagger 3):

     @Configuration
     public class SwaggerConfig {
    
         @Bean
         public GroupedOpenApi myApi()
         {
             return GroupedOpenApi.builder()
                 .pathsToMatch("/**")
                 .pathsToExclude("/home")
                 .build();
         }
     }