在Spring Boot中從Swagger文檔中隱藏端點

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文檔中隱藏端點。我們討論瞭如何隱藏單個端點以及控制器類的所有端點。

相關推薦