1. 为什么需要OpenAPI 3.0注解?
记得我刚接触API文档时,最头疼的就是写文档和代码不同步的问题。代码改了文档没更新,前端同事拿着过时的文档来找我理论,这种场景相信不少开发者都遇到过。OpenAPI 3.0注解就是来解决这个痛点的,它能让我们直接在代码中定义API规范,自动生成交互式文档。
传统文档维护有三大痛点:一是手动编写容易出错,二是更新不及时,三是格式不统一。而使用注解的方式,文档和代码天然绑定,修改代码的同时就更新了文档。Spring Boot项目配合Swagger UI,还能实时查看接口效果,真正实现"代码即文档"的理念。
OpenAPI 3.0相比2.0版本有几个重要改进:支持更丰富的参数类型、更好的组件复用、更清晰的响应定义。这些改进让API描述更加精确,而注解就是把这些规范落地到代码中的桥梁。比如现在我们可以用@Schema注解精确描述一个字段的格式要求,用@Operation定义接口的详细行为。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 创建Spring Boot项目
首先用Spring Initializr创建一个基础项目,我习惯用IDEA的创建向导,勾选Web和Lombok依赖。建好项目后,在pom.xml中添加这两个关键依赖:
xml复制<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.14</version>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>2.2.8</version>
</dependency>
第一个依赖是SpringDoc的核心库,它会自动扫描项目中的OpenAPI注解;第二个是注解库本身,包含了我们要用的所有注解类。配置完成后,启动项目访问http://localhost:8080/swagger-ui.html就能看到基础的Swagger UI界面了。
2.2 全局配置类
我习惯创建一个OpenApiConfig配置类来定义全局文档信息:
java复制@Configuration
public class OpenApiConfig {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("用户管理系统API")
.version("1.0")
.description("用户管理模块接口文档")
.contact(new Contact()
