mengstack-website/api/overview.md
MengStack Dev fca3326e34 docs: 官网文档全面更新 — M2-M8 指南 + API 参考 + v0.2.0 更新日志
- 更新 changelog.md: v0.2.0 记录 M2-M8 全部完成,路线图更新
- 新增 5 篇指南: RBAC、组织管理、审计日志、通知模块、质量横切
- 新增 5 篇 API 文档: RBAC(11)、Org(5)、Audit(1)、Settings(7)、Notification(7)
- 更新 api/overview.md: 完整 37 端点列表
- 更新 config.ts: 侧边栏分组 + 11 页 SEO 元数据
2026-10-03 01:55:55 +08:00

137 lines
4.3 KiB
Markdown
Raw 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.

---
title: API接口概览 | 统一响应格式与错误码说明 - MengStack官方文档
---
# API 概览
MengStack API 基于 RESTful 设计,所有接口统一前缀 `/api/v1`。
## 基础信息
| 项目 | 值 |
|------|------|
| Base URL | `http://localhost:2222/api/v1` |
| 数据格式 | JSON |
| 认证方式 | Bearer Token (JWT) |
| API 文档 | `http://localhost:2222/swagger/index.html` |
## 统一响应格式
所有接口返回统一格式:
```json
{
"code": 0,
"message": "success",
"data": {},
"trace_id": "req-abc-123"
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| `code` | int | 状态码,0 表示成功 |
| `message` | string | 状态描述 |
| `data` | any | 响应数据 |
| `trace_id` | string | 请求追踪 ID |
## 错误码
| HTTP 状态码 | 说明 |
|------------|------|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未认证或 Token 过期 |
| 403 | 无权限 |
| 404 | 资源不存在 |
| 409 | 资源冲突(如邮箱已注册) |
| 500 | 服务器内部错误 |
## 认证
需要认证的接口,在请求头中携带:
```
Authorization: Bearer <access_token>
X-Tenant-ID: <tenant_id>
```
## 接口列表
### 认证模块
| 方法 | 端点 | 说明 |
|------|------|------|
| POST | `/auth/register` | 用户注册,详见[认证接口](/api/auth) |
| POST | `/auth/login` | 用户登录,详见[认证接口](/api/auth) |
| POST | `/auth/refresh` | 刷新令牌,详见[认证接口](/api/auth) |
| POST | `/password` | 修改密码,详见[认证接口](/api/auth) |
| GET | `/profile` | 获取当前用户,详见[认证接口](/api/auth) |
### RBAC 权限模块
| 方法 | 端点 | 说明 |
|------|------|------|
| GET | `/api/v1/rbac/permissions` | 列出权限,详见[RBAC 接口](/api/rbac) |
| POST | `/api/v1/rbac/roles` | 创建角色 |
| GET | `/api/v1/rbac/roles` | 列出角色 |
| GET | `/api/v1/rbac/roles/:id` | 获取角色详情 |
| PUT | `/api/v1/rbac/roles/:id` | 更新角色 |
| DELETE | `/api/v1/rbac/roles/:id` | 删除角色 |
| PUT | `/api/v1/rbac/roles/:id/permissions` | 设置角色权限 |
| GET | `/api/v1/rbac/roles/:id/permissions` | 获取角色权限 |
| POST | `/api/v1/rbac/users/:userId/roles` | 分配角色给用户 |
| DELETE | `/api/v1/rbac/users/:userId/roles/:roleId` | 移除用户角色 |
| GET | `/api/v1/rbac/users/:userId/roles` | 获取用户角色 |
### 组织管理模块
| 方法 | 端点 | 说明 |
|------|------|------|
| POST | `/api/v1/org/tenants` | 创建租户,详见[组织管理接口](/api/org) |
| GET | `/api/v1/org/tenants` | 列出所有租户 |
| GET | `/api/v1/org/tenants/:id` | 获取租户详情 |
| PUT | `/api/v1/org/tenants/:id` | 更新租户 |
| DELETE | `/api/v1/org/tenants/:id` | 删除租户 |
### 审计日志模块
| 方法 | 端点 | 说明 |
|------|------|------|
| GET | `/api/v1/audit/logs` | 查询审计日志,详见[审计日志接口](/api/audit) |
### 配置管理模块
| 方法 | 端点 | 说明 |
|------|------|------|
| GET | `/api/v1/settings` | 列出全局配置,详见[配置管理接口](/api/settings) |
| GET | `/api/v1/settings/global/:key` | 获取全局配置 |
| PUT | `/api/v1/settings/global/:key` | 更新全局配置 |
| GET | `/api/v1/settings/tenant` | 列出租户配置 |
| GET | `/api/v1/settings/tenant/:key` | 获取租户配置 |
| PUT | `/api/v1/settings/tenant/:key` | 更新租户配置 |
| DELETE | `/api/v1/settings/tenant/:key` | 删除租户配置 |
### 通知模块
| 方法 | 端点 | 说明 |
|------|------|------|
| POST | `/api/v1/notifications` | 创建通知,详见[通知接口](/api/notification) |
| GET | `/api/v1/notifications/:id` | 获取通知详情 |
| GET | `/api/v1/notifications/user/:userId` | 获取用户通知列表 |
| PUT | `/api/v1/notifications/:id/read` | 标记通知已读 |
| PUT | `/api/v1/notifications/read-all` | 全部标记已读 |
| GET | `/api/v1/notifications/unread-count` | 获取未读数量 |
| DELETE | `/api/v1/notifications/:id` | 删除通知 |
### 系统模块
| 方法 | 端点 | 说明 |
|------|------|------|
| GET | `/health` | 健康检查,详见[系统接口](/api/system) |
| GET | `/ping` | 连通性测试,详见[系统接口](/api/system) |
## Swagger UI
启动服务后访问 `http://localhost:2222/swagger/index.html` 查看交互式 API 文档。