1.概述
在创建Swagger文档时,我们经常需要隐藏端点以免暴露给最终用户。最常见的情况是端点尚未准备就绪。另外,我们可能有一些我们不想公开的私有端点。
在这篇简短的文章中,我们将了解如何从Swagger API文档中隐藏端点。为此,我们将在控制器类中使用注释。
2.使用@ApiIgnore
@ApiIgnore
批注允许我们隐藏端点。让我们在控制器中为端点添加此注释:
@ApiIgnore
@ApiOperation(value = "This method is used to get the author name.")
@GetMapping("/getAuthor")
public String getAuthor() {
return "Umang Budhwar";
}
3.使用@ApiOperation
另外,我们可以使用**@ApiOperation
隐藏单个端点**:
@ApiOperation(value = "This method is used to get the current date.", hidden = true)
@GetMapping("/getDate")
public LocalDate getDate() {
return LocalDate.now();
}
注意,**我们需要将hidden
属性true
**以使Swagger忽略此端点。
@ApiIgnore
隐藏所有端点
尽管如此,有时我们还是需要隐藏控制器类的所有端点。 @ApiIgnore
注释控制器类来实现此目的:
@ApiIgnore
@RestController
public class RegularRestController {
// regular code
}
要注意的是,这将从文档中隐藏控制器本身。
6.使用@Hidden
如果使用的是OpenAPI v3,则可以使用@Hidden
注释隐藏端点:
@Hidden
@GetMapping("/getAuthor")
public String getAuthor() {
return "Umang Budhwar";
}
@Hidden
隐藏所有端点
同样,我们可以使用@Hidden
注释控制器以隐藏所有端点:
@Hidden
@RestController
public class RegularRestController {
// regular code
}
这还将在文档中隐藏控制器。
注意:我们仅在使用@Hidden
时才能使用@Hidden。 Swagger v3中对该注释的支持仍在进行中。
8.结论
在本教程中,我们已经了解了如何从Swagger文档中隐藏端点。我们讨论了如何隐藏单个端点以及控制器类的所有端点。
0 评论