Сделайте свою документацию по API более привлекательной: Spring Boot и Swagger-UI идеально интегрированы!
Сделайте свою документацию по API более привлекательной: Spring Boot и Swagger-UI идеально интегрированы!

🏆Эта статья включена в 《 Spring Загрузка из входа в мастер》 ,Улучшение индекса специализированной атаки,2023 Самая систематическая + самая сильная система в Китае в 2017 году (в стадии обновления).

Эта колонка посвящена созданию самой сложной серии обучающего контента Spring Boot от нулевого уровня до продвинутого уровня. 🚀Все они запускаются исключительно во всей сети для создания качественных колонок... Колонка постоянно обновляется... Добро пожаловать всем. подписывайтесь и продолжайте учиться.

Язык кода:javascript
копировать
Описание среды: Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE

1. Предисловие

В реальном процессе разработки нам часто приходится писать документы API для описания вызывающих методов, параметров, возвращаемых значений и другой информации интерфейса. Чтобы повысить эффективность разработки и удобство обслуживания, Swagger-UI стал популярным решением для автоматического создания документов API. В этой статье рассказывается, как использовать Spring Boot и Swagger-UI для реализации онлайн-документации API.

2. Резюме

Эта статья в основном охватывает следующее содержание:

  • Введение в Swagger-UI
  • Spring Boot интегрирует Swagger-UI
  • Пример кода и методы тестирования
  • Подвести итог

3. Введение в Swagger-UI

Swagger — это набор языков и инструментов для описания RESTful API. Он включает в себя спецификацию и различные инструменты, помогающие нам создавать, документировать и тестировать RESTful API. Swagger-UI — это пользовательский интерфейс Swagger, который позволяет нам быстро просматривать и тестировать API через браузер.

В Swagger мы можем использовать аннотации Swagger для описания различных элементов API, таких как пути API, методы HTTP, параметры запроса, информация об ответе и т. д. Эти аннотации могут генерировать файлы описания API в формате JSON, а затем мы можем использовать Swagger-UI для анализа этих файлов JSON и создания удобных для пользователя документов API.

4. Spring Boot интегрирует Swagger-UI.

Интегрировать Spring Boot и Swagger-UI очень просто, просто выполните следующие шаги.

4.1 Добавьте зависимости

Сначала вам нужно добавить зависимость Swagger-UI в файл pom.xml:

Язык кода:javascript
копировать
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>3.0.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>3.0.0</version>
</dependency>

4.2 Написание классов конфигурации

Затем создайте класс конфигурации Swagger для настройки параметров, связанных с Swagger:

Язык кода:javascript
копировать
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
            .paths(PathSelectors.any())
            .build()
            .apiInfo(apiInfo());
    }
 
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            .title("Документация API")
            .description("Тест интеграции Swagger-UI")
            .version("1.0.0")
            .build();
    }
}

В этом классе конфигурации,мы проходим@EnableSwagger2Аннотации включеныSwagger-UI,и использоватьDocketкласс для настройкиSwaggerсвязанные параметры。в,apisМетод определяетControllerПакет, в котором находится класс,pathsМетод определяетAPIпуть,Здесь мы используем подстановочные знаки для сканирования всех путей. наконец,apiInfoМетод, используемый для созданияAPIОсновная информация документа。

4.3 Класс контроллера записи

Наконец, нам нужно написать класс контроллера для предоставления интерфейса API:

Язык кода:javascript
копировать
@RestController
@RequestMapping("/api")
@Api(value = «Тест API-интерфейса», tags = «Тест API-интерфейса»)
public class ApiController {
    @ApiOperation(value = «Получить информацию о пользователе», notes = «Получить информацию о пользователе на основе идентификатора пользователя»)
    @ApiImplicitParams({
        @ApiImplicitParam(name = "id", value = "ID пользователя", required = true, dataType = "Long")
    })
    @GetMapping("/user/{id}")
    public User getUser(@PathVariable Long id) {
        return new User(id, «Чжан Сан»);
    }
}

Пример скриншота выглядит следующим образом:

В этом классе контроллера,мы использовали@RestControllerи@RequestMappingаннотация для определения основногоAPIинтерфейс,Затем мы использовали аннотации, предоставленные Swagger, для описания различных элементов API.,Например@ApiАннотации используются для описанияAPI的名称и类别,@ApiOperationАннотации используются для описанияAPI的名称и说明,@ApiImplicitParamsАннотации используются для описанияAPIинформация о параметрах。

4.4 Запуск тестов

Наконец, запустите приложение Spring Boot и посетите http://localhost:8080/swagger-ui.html в браузере, чтобы просмотреть сгенерированный документ API. Теперь мы можем использовать Swagger-UI для проверки документации по API.

Выберите «Пользователь» в Swagger-UI и нажмите «GET». /users/», нажмите «Попробовать». it out», нажмите «Выполнить», чтобы просмотреть ответ. Теперь мы можем использовать Swagger-UI для проверки нашей документации API. Мы можем легко проверить нашу документацию API через Swagger-UI, а также протестировать API онлайн, что очень удобно. важно для API. Разработка и тестирование очень полезны. Пример скриншота выглядит следующим образом:

5. Резюме

В этой статье мы покажем, как использовать Spring Boot для интеграции Swagger-UI для реализации онлайн-документации API. Мы используем инструмент сборки Maven, а также платформы Spring Boot и Swagger-UI, чтобы помочь разработчикам быстро создавать документы API и предоставлять возможности онлайн-тестирования. Мы использовали пример, чтобы проиллюстрировать, как писать документацию по API, добавлять аннотации Swagger и тестировать API в Swagger-UI. Использование Swagger-UI может помочь разработчикам лучше понимать и использовать API.

я участвуюНа втором этапе специального тренировочного лагеря Tencent Technology Creation 2023 года будут отмечены призовые эссе, которые разделят призовой фонд в 10 000 юаней и часы с клавиатурой.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose