Spring Boot 3.0 和 SpringDoc 入门指南

Spring Boot 是一个用于构建独立的、生产级别的 Spring 应用程序的框架。它简化了 Spring 应用程序的开发过程,并提供了许多开箱即用的功能和组件,使开发人员可以更加专注于业务逻辑的实现。SpringDoc 是一个用于生成 OpenAPI/Swagger 文档的库,它可以帮助开发人员快速、方便地生成和管理 API 文档。本文将介绍如何使用 Spring Boot 3.0 和 SpringDoc 来构建一个简单的 RESTful API,并生成相应的文档。

准备工作

首先,确保你已经安装了以下工具和环境:

  • JDK 1.8 或以上
  • Maven
  • IDE(推荐使用 IntelliJ IDEA 或 Eclipse)

创建一个 Spring Boot 项目

首先,我们需要创建一个新的 Spring Boot 项目。可以使用 Spring Initializr 来创建项目,或者手动创建一个 Maven 项目并添加相关的依赖。

在 pom.xml 中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.5.12</version>
    </dependency>
</dependencies>

定义 API

接下来,我们需要定义一些 API 接口和相应的处理方法。创建一个新的类,命名为 UserController,并添加以下代码:

@RestController
@RequestMapping("/api/users")
public class UserController {

    private List<User> users; // 假设这是一个用户列表

    public UserController() {
        users = new ArrayList<>();
        users.add(new User(1, "Alice"));
        users.add(new User(2, "Bob"));
        users.add(new User(3, "Charlie"));
    }

    @GetMapping
    public List<User> getUsers() {
        return users;
    }

    @GetMapping("/{id}")
    public User getUserById(@PathVariable int id) {
        return users.stream()
                .filter(user -> user.getId() == id)
                .findFirst()
                .orElse(null);
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        int id = users.size() + 1;
        user.setId(id);
        users.add(user);
        return user;
    }

    @PutMapping("/{id}")
    public User updateUser(@PathVariable int id, @RequestBody User user) {
        User existingUser = getUserById(id);
        if (existingUser != null) {
            existingUser.setName(user.getName());
        }
        return existingUser;
    }

    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable int id) {
        User existingUser = getUserById(id);
        if (existingUser != null) {
            users.remove(existingUser);
        }
    }
}

上述代码定义了一个简单的用户管理 API,包括获取用户列表、根据 ID 获取用户、创建用户、更新用户和删除用户等操作。

生成 API 文档

配置文件 application.properties 添加以下配置:

springdoc.api-docs.path=/api-docs
springdoc.swagger-ui.path=/api-docs-ui.html

启动项目,访问 http://localhost:8080/api-docs,可以看到生成的 API 文档。使用 Swagger UI,访问 http://localhost:8080/api-docs-ui.html 可以查看更友好的界面。

总结

本文介绍了如何使用 Spring Boot 3.0 和 SpringDoc 来构建一个简单的 RESTful API,并生成相应的文档。通过 SpringDoc,我们可以快速、方便地生成和管理 API 文档,提高开发效率。希望本文对你有所帮助,如果有任何问题,欢迎留言讨论。祝你使用 Spring Boot 和 SpringDoc 开发愉快!