54 lines
2.9 KiB
Markdown
54 lines
2.9 KiB
Markdown
---
|
||
description: 在 internal/handler 下新增或修改 HTTP 接口后,询问用户是否需要同步更新 .codebuddy/docs 中对应的接口文档(不强制,由用户决定)。适用于所有 gin 路由接口的开发与变更。
|
||
globs: "internal/handler/**/*.go"
|
||
alwaysApply: false
|
||
---
|
||
|
||
# 接口文档同步提示(非强制)
|
||
|
||
每次在 `internal/handler/` 下**新增或修改** HTTP 接口(gin 路由,如 `r.GET` / `r.POST` / `r.PUT` / `r.DELETE` 及对应的 handler 方法)后,**询问用户是否需要**同步更新 `.codebuddy/docs` 下对应的接口文档。是否补充由用户决定,不强制。
|
||
|
||
## 1. 文档归属
|
||
|
||
根据接口挂载的路由前缀判断归属,写入对应文件:
|
||
|
||
| 接口归属 | 路由前缀特征 | 文档文件 |
|
||
| --- | --- | --- |
|
||
| 后台管理接口 | `/api/admin` | `.codebuddy/docs/admin-api.md` |
|
||
| 小程序端接口 | 小程序相关(如 `/api/miniapp`) | `.codebuddy/docs/miniapp-api.md` |
|
||
| 新增独立模块 | 既不在 admin 也不在 miniapp | 在 `.codebuddy/docs/` 下新建 `<module>-api.md`,并在本规则 §1 登记 |
|
||
|
||
> 归属以路由注册时挂载的 group 前缀为准,而非文件名。
|
||
|
||
## 2. 若用户同意补充,需包含的内容
|
||
|
||
每个接口在文档中至少包含:
|
||
|
||
- **名称与简介**:一句话说明用途。
|
||
- **请求**:方法 + 完整路径、是否需要鉴权、相关请求头(如 `Authorization`)。
|
||
- **请求参数**:
|
||
- 路径参数 / 查询参数 / Body 字段,用表格列出:字段名、类型、是否必填、校验规则(`binding` tag,如 `required`、`max=32`)、说明。
|
||
- 复杂结构给出 JSON 示例。
|
||
- **响应**:
|
||
- 成功响应结构与字段说明(字段名、类型、含义)及示例 JSON。
|
||
- 关键业务错误码(非 `0` 的 `code`)及其含义。
|
||
- **示例**:至少一个成功调用示例(`curl` 或 JSON)。
|
||
|
||
## 3. 文档格式约定
|
||
|
||
- 对齐 `.codebuddy/docs` 已有文件的风格:参数/响应用 Markdown 表格描述,示例用 ```` ```json ```` / ```` ```bash ```` 代码块。
|
||
- 文档应可独立阅读,前端/测试无需看代码即可对接。
|
||
- 描述用中文;字段名、路径、代码保持英文原样。
|
||
|
||
## 4. 变更同步(仅当用户选择维护文档时)
|
||
|
||
- 若用户选择维护文档,接口**删除 / 重命名 / 改路径 / 改参数 / 改响应结构**时,同步更新文档对应段落。
|
||
- 不得遗留过期、错误的接口描述(仅在维护该文档的前提下)。
|
||
|
||
## 5. 提示时机与方式
|
||
|
||
- 完成接口代码后,主动询问用户:"是否需要更新接口文档?(admin-api.md / miniapp-api.md)"
|
||
- 用户确认后才执行文档更新;用户拒绝或忽略则跳过,不强制。
|
||
- 若接口改动较大(删除 / 重命名 / 改路径 / 改参 / 改响应),仍只提示,不强制执行。
|
||
- 用户同意补充时,参照 §2、§3 的约定撰写,并保证示例与代码行为一致。
|