Рубрики
Без рубрики

Скрытие конечных точек из документации Swagger в Spring Boot

Давайте посмотрим, как мы можем скрыть конечные точки из документации Swagger API.

Автор оригинала: baeldung.

1. Обзор

При создании документации Swagger нам часто приходится скрывать конечные точки от доступа конечных пользователей. Наиболее распространенный сценарий – это когда конечная точка еще не готова. Кроме того, у нас могут быть некоторые частные конечные точки, которые мы не хотим раскрывать.

В этой короткой статье мы рассмотрим, как мы можем скрыть конечные точки из документации Swagger API . Для достижения этой цели мы будем использовать аннотации в нашем классе контроллера.

2. Скрытие конечной точки с помощью @ApiIgnore

Аннотация @Peignoir позволяет скрыть конечную точку . Давайте добавим эту аннотацию для конечной точки в нашем контроллере:

@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

Если мы используем Open API v3 , мы можем скрыть конечную точку с помощью аннотации @Hidden :

@Hidden
@GetMapping("/getAuthor")
public String getAuthor() {
    return "Umang Budhwar";
}

7. Скрытие всех конечных точек с помощью @Hidden

Аналогично, мы можем аннотировать контроллер с помощью @Hidden , чтобы скрыть все конечные точки:

@Hidden
@RestController
public class RegularRestController {
    // regular code
}

Это также скроет контроллер из документации.

Примечание: Мы можем использовать только @Скрытый когда мы используем OpenAPI. Поддержка этой аннотации в Swagger v3 все еще продолжается.

8. Заключение

В этом уроке мы рассмотрели, как мы можем скрыть конечные точки из документации Swagger. Мы обсудили, как скрыть одну конечную точку, а также все конечные точки класса контроллера.

Как всегда, полный код для примеров Swagger доступен на GitHub , а также примеры Open API v3 доступны на GitHub .