Ответ
Да, активно использую. Аннотации SpringDoc OpenAPI (для Swagger UI 3.x) — это стандартный способ генерации живой документации и спецификации OpenAPI для REST API.
Основные аннотации и их назначение:
-
Документирование контроллера (
@Tag):@Tag(name = "User Management", description = "API для управления пользователями") @RestController @RequestMapping("/api/users") public class UserController { ... } -
Документирование операции (
@Operation):@Operation( summary = "Получить пользователя по ID", description = "Возвращает полные данные пользователя, включая профиль." ) @GetMapping("/{id}") public ResponseEntity<UserDto> getUser(@PathVariable Long id) { ... } -
Описание параметров (
@Parameter):@Parameter(description = "Уникальный идентификатор пользователя", required = true, example = "123") @PathVariable Long id -
Описание ответов (
@ApiResponse):@ApiResponse(responseCode = "200", description = "Пользователь найден") @ApiResponse(responseCode = "404", description = "Пользователь с указанным ID не найден")
Преимущества подхода:
- Автоматическая актуализация: Документация всегда соответствует коду.
- Интерактивное тестирование: Swagger UI позволяет отправлять реальные запросы.
- Генерация клиентского кода: Спецификация OpenAPI используется такими инструментами, как OpenAPI Generator, для создания клиентских SDK.
- Валидация контракта: Помогает гарантировать, что API соответствует заявленной схеме.
Техническая реализация: Достаточно добавить зависимость springdoc-openapi-starter-webmvc-ui, и документация будет доступна по пути /swagger-ui.html.