如何为项目添加swagger接口文档

如何为项目添加swagger接口文档

第一步:添加 Maven 依赖

在 aimin-ai 的 pom.xml 加上:

1
2
3
4
5
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.5.0</version>
</dependency>

第二步:新建一个 Swagger 配置类

config/ 目录下创建:SpringDocConfig.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.oimc.aimin.ai.config.swagger;

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SpringDocConfig {

@Bean
public OpenAPI restfulOpenAPI() {
return new OpenAPI()
.info(new Info().title("Aimin-AI-Server-API")
.description("RESTful风格接口")
.version("V1.0.0")
.license(new License().name("Aimin-AI-Server")))
.externalDocs(new ExternalDocumentation()
.description(""));
}

}

启动项目后访问 Swagger UI

默认访问地址:

1
http://你的ip:端口号/swagger-ui/index.html

例如:

1
http://localhost:8087/aimin-ai/swagger-ui/index.html

如果你使用 gateway:

1
http://localhost:8080/aimin-ai/swagger-ui/index.html

顺带建议:给你的接口补充 @Tag/@Operation 注解

@Tag/@Operation注解的含义可以点击此链接查看

例如:

1
2
3
4
5
6
@Tag(name="AI对话",description = "AI聊天机器人对话功能")
@RequiredArgsConstructor
@RestController
@RequestMapping("/ai")
public class ChatController {
}
1
2
3
@Operation(summary = "AI 问诊聊天接口", description = "基于大模型的医疗问诊系统,支持流式输出")
@GetMapping("/chat")
public Flux<String> chat(@RequestParam String message) { ... }