Files
game_server/docs/Swagger使用说明.md

172 lines
4.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Swagger API 文档使用说明
## 📖 概述
本项目已集成 Swagger/OpenAPI 3.0,提供交互式的 API 文档界面,方便开发者和测试人员查看和测试 API 接口。
## 🚀 访问地址
启动应用后,可以通过以下地址访问 Swagger 文档:
- **Swagger UI 界面**: http://localhost:8080/swagger-ui.html
- **OpenAPI JSON**: http://localhost:8080/api-docs
- **OpenAPI YAML**: http://localhost:8080/api-docs.yaml
## 📋 功能特性
### 1. 交互式文档
- 在线查看所有 API 接口
- 直接在浏览器中测试接口
- 支持请求参数验证
- 实时查看响应结果
### 2. 接口分组
- **管理员账户管理**: `/api/admin/accounts` 相关接口
- **用户账户管理**: `/api/users` 相关接口
### 3. 详细文档
- 接口描述和用途说明
- 请求参数详细说明
- 响应数据结构
- 错误码说明
## 🔧 配置说明
### 配置文件
```yaml
# application.yml
springdoc:
api-docs:
path: /api-docs
swagger-ui:
path: /swagger-ui.html
tags-sorter: alpha
operations-sorter: alpha
doc-expansion: none
disable-swagger-default-url: true
display-request-duration: true
packages-to-scan: com.gameplatform.server.controller
```
### 配置参数说明
- `tags-sorter: alpha`: 按字母顺序排序标签
- `operations-sorter: alpha`: 按字母顺序排序操作
- `doc-expansion: none`: 默认折叠所有接口
- `display-request-duration: true`: 显示请求耗时
## 📝 使用示例
### 1. 查看接口列表
1. 打开 http://localhost:8080/swagger-ui.html
2. 选择对应的接口分组(如"管理员账户管理"
3. 展开需要查看的接口
### 2. 测试接口
1. 点击接口右侧的"Try it out"按钮
2. 填写请求参数
3. 点击"Execute"执行请求
4. 查看响应结果
### 3. 复制接口信息
每个接口都提供了以下信息:
- **cURL 命令**: 可直接复制到终端执行
- **请求 URL**: 完整的请求地址
- **请求头**: 包含认证信息等
- **请求体**: JSON 格式的请求数据
- **响应示例**: 成功和失败的响应示例
## 🔐 认证说明
### Bearer Token 认证
对于需要认证的接口,在 Swagger UI 中:
1. 点击右上角的"Authorize"按钮
2. 在 "Value" 字段中输入 JWT Token
3. 格式:`Bearer your-jwt-token`
4. 点击"Authorize"确认
### 获取 Token
1. 使用登录接口获取 JWT Token
2. 复制响应中的 `accessToken` 字段
3. 在 Swagger UI 中配置认证
## 📊 接口文档结构
### 管理员账户管理接口
```
POST /api/admin/accounts # 创建账户
GET /api/admin/accounts # 获取账户列表
GET /api/admin/accounts/{id} # 获取账户详情
PATCH /api/admin/accounts/{id} # 更新账户
POST /api/admin/accounts/{id}/enable # 启用账户
POST /api/admin/accounts/{id}/disable # 禁用账户
POST /api/admin/accounts/{id}/reset-password # 重置密码
```
### 用户账户管理接口
```
POST /api/users # 创建用户
GET /api/users # 获取用户列表
GET /api/users/{id} # 获取用户详情
PUT /api/users/{id} # 更新用户
POST /api/users/{id}/enable # 启用用户
POST /api/users/{id}/disable # 禁用用户
```
## 🎯 最佳实践
### 1. 开发阶段
- 使用 Swagger UI 快速测试接口
- 验证请求参数和响应格式
- 调试认证和权限问题
### 2. 测试阶段
- 导出 OpenAPI 规范文件
- 使用 Postman 等工具导入接口
- 编写自动化测试用例
### 3. 文档维护
- 及时更新接口描述
- 添加详细的参数说明
- 提供完整的示例数据
## 🔧 自定义配置
### 添加新的接口分组
```java
@Tag(name = "新功能模块", description = "新功能模块的接口说明")
@RestController
@RequestMapping("/api/new-feature")
public class NewFeatureController {
// 接口实现
}
```
### 自定义接口描述
```java
@Operation(summary = "接口标题", description = "详细的接口描述")
@Parameter(description = "参数说明")
public ResponseEntity<?> methodName(@RequestParam String param) {
// 实现逻辑
}
```
## 📚 相关资源
- [OpenAPI 3.0 规范](https://swagger.io/specification/)
- [SpringDoc 官方文档](https://springdoc.org/)
- [Swagger UI 配置选项](https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/)
## 🆘 常见问题
### Q: 无法访问 Swagger UI
A: 检查应用是否正常启动,确认端口 8080 未被占用
### Q: 接口显示不完整
A: 确认控制器类在 `com.gameplatform.server.controller` 包下
### Q: 认证失败
A: 检查 JWT Token 是否有效,格式是否正确
### Q: 参数验证失败
A: 查看接口文档中的参数要求,确保数据格式正确