知識庫 / Spring / Spring Boot RSS 訂閱

從 Swagger 文檔中隱藏 Spring Boot 端點

REST,Spring Boot
HongKong
9
03:47 AM · Dec 06 ,2025

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

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.