跳到主要内容

API 总览

Personal Blog Backend 提供 RESTful API,基于 Spring Boot 3 + Spring Security 6,使用 JWT Token 认证。


🔐 认证机制

公开端点(无需 Token)

路径说明
POST /api/v1/auth/register用户注册
POST /api/v1/auth/login用户登录
GET /actuator/health健康检查
/swagger-ui/**API 文档

使用 Token

# 1. 登录获取 Token
TOKEN=$(curl -s -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"testuser","password":"Password123!"}' | jq -r '.data.token')

# 2. 携带 Token 访问受保护接口
curl -X GET http://localhost:8080/api/v1/users/me \
-H "Authorization: Bearer $TOKEN"

📚 API 分类

认证管理 /api/v1/auth

方法路径功能认证
POST/register用户注册
POST/login用户登录
POST/logout用户登出

👉 认证 API 详情


用户管理 /api/v1/users

方法路径功能权限
GET/me获取当前用户信息User
PUT/me更新个人资料User
GET/{id}获取用户信息Admin
PUT/{id}更新用户信息Admin
DELETE/{id}删除用户Admin

👉 用户 API 详情


角色管理 /api/v1/roles

⚠️ 所有接口都需要 ADMIN 角色

方法路径功能
POST/创建角色
GET/{id}获取角色详情
PUT/{id}更新角色
DELETE/{id}删除角色
POST/{roleId}/users/{userId}分配角色
DELETE/{roleId}/users/{userId}移除角色

👉 角色 API 详情


监控端点 /actuator

端点功能
/health健康检查
/info应用信息
/metrics性能指标
/prometheusPrometheus 格式

👉 Actuator 端点详情


规划中的模块

模块状态说明
📄 文章管理🚧 开发中CRUD、分类、标签
💬 评论管理📋 规划中多级评论、审核
📁 文件管理✅ 已实现S3 存储、预签名 URL

📊 响应格式

统一响应 Result<T>

{
"code": 0, // 0=成功, 其他=错误码
"message": "success",
"data": { ... }
}

错误码

Code含义
0成功
400参数错误
401未授权
403无权限
404资源不存在
500服务器错误

📖 在线文档

访问 Swagger UI 查看交互式 API 文档:

http://localhost:8080/swagger-ui.html
  • 🔍 完整 API 列表
  • 🧪 在线测试(Try it out)
  • 📋 请求/响应示例

🔗 相关文档