feat(api): 开发auth、login等接口,规范格式化
This commit is contained in:
@@ -2,6 +2,10 @@
|
||||
|
||||
> 状态:第一批可评审契约。本文档描述预期的 NestJS HTTP API,不代表接口已经实现。接口统一以前缀 `/api` 提供,JSON 字段使用 `snake_case`,时间使用 ISO 8601 UTC 字符串,ID 使用 UUID。
|
||||
|
||||
API 启动后会在 `/api-docs` 提供 Swagger UI,并在其 OpenAPI 文档中标记已实现的接口。Swagger 是运行时参考,不替代本目录的冻结契约。
|
||||
|
||||
运行状态端点不使用 `/api` 前缀:`GET /health` 只表明进程存活,`GET /ready` 会校验应用数据库连接,失败时返回 `503`。生产环境由环境变量控制 API 端口、CORS 来源、日志级别、请求体上限、认证限流及可信反向代理列表;缺少或格式错误的必需安全配置会阻止 API 启动。
|
||||
|
||||
## 1. 文档路线
|
||||
|
||||
| 文档 | 状态 | 范围 |
|
||||
|
||||
@@ -29,6 +29,25 @@ X-Atlas-Platform-Id: 57ad…-uuid
|
||||
|
||||
## 3. 响应、分页和字段格式
|
||||
|
||||
### 3.1 强制响应信封
|
||||
|
||||
本项目不采用完整 JSON:API 规范,但所有业务 HTTP 接口必须使用以下响应信封;这是
|
||||
前端、服务端、Worker 和扩展共同遵守的强制契约:
|
||||
|
||||
| 场景 | HTTP 响应体 |
|
||||
|---|---|
|
||||
| 成功的单资源或同步动作 | `{ "data": T }` |
|
||||
| 成功的列表 | `{ "data": T[], "meta": PaginationMeta }` |
|
||||
| 失败 | `{ "error": ApiError }` |
|
||||
| `204 No Content` | 无响应体 |
|
||||
|
||||
`data` 只能位于顶层且只能出现一次;不得返回 `{ "data": { "data": ... } }`,也不得以
|
||||
`{ "data": null }` 表示失败。HTTP 状态码仍表达请求结果,错误必须使用本文件第 4 节的
|
||||
`error` 信封,不能混入成功响应。`meta` 只承载分页、游标或与整个响应相关的元信息,不能
|
||||
替代资源字段。
|
||||
|
||||
### 3.2 成功与列表响应
|
||||
|
||||
成功响应统一为:
|
||||
|
||||
```json
|
||||
|
||||
Reference in New Issue
Block a user