如何解决如果我在 Spring boot 中对方法有多个映射,如何仅从 swagger ui 文档中隐藏一个映射
我有一个映射到多个映射的 spring boot rest 控制器方法。请在下面找到示例代码。
Dim copiedContent As String = Request.Form(txtCopied.UniqueID)
For Each row As String In copiedContent.Split(ControlChars.Lf)
If Not String.IsNullOrEmpty(row) AndAlso String.IsNullOrEmpty(row) <> "0" Then
dtResult.Rows.Add()
Dim i As Integer = 0
For Each cell As String In row.Split(ControlChars.Tab)
dtResult.Rows(dtResult.Rows.Count - 1)(i) = cell
i += 1
Next
End If
Next
我想从 swagger 文档中隐藏 @RestController
public class HomeController {
@RequestMapping( {"/","/home"} )
public String home() {
return "Hello,World!";
}
}
映射。
有人能帮我实现这个吗。
解决方法
我还搜索了一种从多映射方法中隐藏某些 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(); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。