從 Swagger 文檔中隱藏端點(Spring Boot)

REST,Spring Boot
Remote
0
07:44 AM · Dec 01 ,2025

1. 概述

在創建 Swagger 文檔時,我們經常需要隱藏端點,防止端點暴露給最終用户。最常見的做法是當端點尚未準備好時。我們還可以有某些私有端點,不想暴露它們。

在本文中,我們將探討如何從 Swagger API 文檔中隱藏端點。要實現這一點,我們將使用控制器的註解。

2. 使用 @ApiIgnore 隱藏端點

The @ApiIgnore annotation allows us to hide an endpoint

@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.