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 忽略此端點。
4. 使用 @ApiIgnore 隱藏所有端點
儘管有時我們需要隱藏控制器類中的所有端點。可以通過使用 @ApiIgnore 註解來完成此操作:
@ApiIgnore
@RestController
public class RegularRestController {
// regular code
}需要注意的是,這將會隱藏控制器本身,使其不在文檔中顯示。
6. 使用 @Hidden
如果使用 OpenAPI v3,可以使用 @Hidden
@Hidden
@GetMapping("/getAuthor")
public String getAuthor() {
return "Umang Budhwar";
}7. 使用 @Hidden 隱藏所有端點
類似於這樣,我們可以使用 @Hidden 註解來隱藏所有端點:
@Hidden
@RestController
public class RegularRestController {
// regular code
}這將也會隱藏控制器,使其不在文檔中顯示。
注意:我們只能在使用 OpenAPI 時使用 @Hidden 註解。 Swagger v3 中該註解的支持仍在進行中。
8. 結論
在本教程中,我們學習瞭如何從 Swagger 文檔中隱藏端點。我們討論瞭如何隱藏單個端點以及所有控制器類端點。