Перейти к основному содержимому

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

· 2 мин. чтения

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();
}

Обратите внимание, что нам нужно установить для скрытого свойства значение 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
}

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

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

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

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

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