🔧 技术开发 中级难度 2024-01-15

API文档生成

专业的API文档生成提示词模板,帮助开发者快速创建清晰、完整、易用的API接口文档,包含接口描述、参数说明、示例代码和错误处理等完整信息。

API文档 接口设计 技术文档 开发规范 文档自动化

📋 案例概述

🎯 适用场景

  • RESTful API文档编写
  • GraphQL接口文档生成
  • 微服务接口文档整理
  • 第三方API集成文档

💡 核心价值

  • 标准化的文档结构和格式
  • 完整的接口信息和示例
  • 提升开发者使用体验
  • 减少沟通成本和错误

🔧 提示词模板

基础模板

你是一位专业的技术文档工程师和API设计专家,请为以下API接口生成完整、清晰、易用的技术文档:

**API基本信息:**
- API名称:[API的名称]
- API版本:[版本号,如v1.0]
- 服务类型:[REST API、GraphQL、WebSocket等]
- 基础URL:[API的基础访问地址]
- 认证方式:[认证方法,如Bearer Token、API Key等]
- 接口功能:[接口的主要功能描述]

**接口详细信息:**
- 接口路径:[具体的接口路径]
- HTTP方法:[GET、POST、PUT、DELETE等]
- 接口描述:[接口的详细功能说明]
- 业务场景:[使用该接口的具体业务场景]

请按照以下结构生成完整的API文档:

# API文档:[API名称]

## 1. 概述
### 1.1 接口描述
**功能说明:**
[详细描述接口的功能和用途]

**业务场景:**
[说明在什么情况下使用这个接口]

**版本信息:**
- 当前版本:[版本号]
- 更新日期:[最后更新日期]
- 兼容性:[向后兼容性说明]

### 1.2 接口信息
- **请求方法:**[HTTP方法]
- **接口路径:**`[完整的接口路径]`
- **完整URL:**`[基础URL + 接口路径]`
- **内容类型:**`application/json`
- **响应格式:**`JSON`

## 2. 认证授权
### 2.1 认证方式
**认证类型:**[认证方式说明]

**认证示例:**
```http
Authorization: [认证头示例]
```

**获取认证:**
[说明如何获取认证凭据的步骤]

### 2.2 权限要求
**所需权限:**
- [列出使用此接口所需的具体权限]
- [权限级别说明]

**权限验证:**
[说明权限验证的逻辑和失败处理]

## 3. 请求参数
### 3.1 路径参数(Path Parameters)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|--------|------|------|------|------|
| [参数名] | [数据类型] | [是/否] | [参数描述] | [示例值] |

### 3.2 查询参数(Query Parameters)
| 参数名 | 类型 | 必填 | 默认值 | 描述 | 示例 |
|--------|------|------|--------|------|------|
| [参数名] | [数据类型] | [是/否] | [默认值] | [参数描述] | [示例值] |

### 3.3 请求头(Headers)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|--------|------|------|------|------|
| Content-Type | string | 是 | 请求内容类型 | application/json |
| Authorization | string | 是 | 认证信息 | Bearer {token} |
| [其他头部] | [类型] | [是/否] | [描述] | [示例] |

### 3.4 请求体(Request Body)
**数据格式:**JSON

**请求体结构:**
```json
{
  "[字段名]": {
    "type": "[数据类型]",
    "required": [true/false],
    "description": "[字段描述]",
    "example": "[示例值]"
  }
}
```

**完整请求体示例:**
```json
{
  [提供完整的请求体JSON示例]
}
```

**字段说明:**
| 字段名 | 类型 | 必填 | 描述 | 约束条件 | 示例 |
|--------|------|------|------|----------|------|
| [字段名] | [数据类型] | [是/否] | [字段描述] | [验证规则] | [示例值] |

## 4. 响应信息
### 4.1 响应格式
**响应头:**
```http
Content-Type: application/json
Cache-Control: [缓存策略]
```

**响应体结构:**
```json
{
  "code": "响应状态码",
  "message": "响应消息",
  "data": "响应数据",
  "timestamp": "响应时间戳"
}
```

### 4.2 成功响应(200 OK)
**响应示例:**
```json
{
  [提供完整的成功响应JSON示例]
}
```

**响应字段说明:**
| 字段名 | 类型 | 描述 | 示例 |
|--------|------|------|------|
| [字段名] | [数据类型] | [字段描述] | [示例值] |

### 4.3 错误响应
**通用错误格式:**
```json
{
  "code": "错误码",
  "message": "错误描述",
  "details": "详细错误信息",
  "timestamp": "错误发生时间"
}
```

**常见错误码:**
| HTTP状态码 | 错误码 | 错误描述 | 解决方案 |
|------------|--------|----------|----------|
| 400 | BAD_REQUEST | 请求参数错误 | 检查请求参数格式和必填项 |
| 401 | UNAUTHORIZED | 认证失败 | 检查认证信息是否正确 |
| 403 | FORBIDDEN | 权限不足 | 确认账户权限 |
| 404 | NOT_FOUND | 资源不存在 | 检查请求路径和资源ID |
| 429 | RATE_LIMIT | 请求频率超限 | 降低请求频率 |
| 500 | INTERNAL_ERROR | 服务器内部错误 | 联系技术支持 |

## 5. 请求示例
### 5.1 cURL示例
```bash
curl -X [HTTP方法] \
  '[完整URL]' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {your_token}' \
  -d '{
    [请求体JSON]
  }'
```

### 5.2 JavaScript示例
```javascript
// 使用fetch API
const response = await fetch('[完整URL]', {
  method: '[HTTP方法]',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer ' + token
  },
  body: JSON.stringify({
    [请求体对象]
  })
});

const data = await response.json();
console.log(data);
```

### 5.3 Python示例
```python
import requests
import json

url = "[完整URL]"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {token}"
}
data = {
    [请求体字典]
}

response = requests.[方法小写](url, headers=headers, json=data)
result = response.json()
print(result)
```

### 5.4 Java示例
```java
// 使用OkHttp
OkHttpClient client = new OkHttpClient();

String json = "{[请求体JSON字符串]}";
RequestBody body = RequestBody.create(json, MediaType.parse("application/json"));

Request request = new Request.Builder()
    .url("[完整URL]")
    .addHeader("Content-Type", "application/json")
    .addHeader("Authorization", "Bearer " + token)
    .[方法小写](body)
    .build();

Response response = client.newCall(request).execute();
String responseBody = response.body().string();
```

## 6. 使用说明
### 6.1 调用流程
1. **准备认证信息**
   [说明如何获取和使用认证信息]

2. **构建请求**
   [说明如何正确构建请求参数]

3. **发送请求**
   [说明请求发送的注意事项]

4. **处理响应**
   [说明如何处理不同类型的响应]

### 6.2 最佳实践
**性能优化:**
- [提供性能优化建议]
- [缓存策略建议]
- [批量处理建议]

**错误处理:**
- [错误重试策略]
- [异常情况处理]
- [日志记录建议]

**安全注意事项:**
- [数据安全建议]
- [认证安全提醒]
- [敏感信息处理]

### 6.3 限制说明
**请求限制:**
- 请求频率:[每分钟/小时最大请求数]
- 数据大小:[请求体最大大小]
- 超时时间:[请求超时时间]

**业务限制:**
- [具体的业务规则限制]
- [数据范围限制]
- [操作权限限制]

## 7. 测试工具
### 7.1 在线测试
**Postman集合:**
[提供Postman测试集合链接或导入说明]

**Swagger UI:**
[提供Swagger文档链接]

### 7.2 测试数据
**测试环境:**
- 测试URL:[测试环境地址]
- 测试账号:[测试账号信息]
- 测试数据:[测试用的示例数据]

## 8. 更新日志
### 版本历史
| 版本 | 日期 | 更新内容 | 影响范围 |
|------|------|----------|----------|
| [版本号] | [日期] | [更新说明] | [影响说明] |

### 废弃通知
[如有废弃的功能或参数,在此说明]

## 9. 技术支持
### 9.1 联系方式
- **技术支持邮箱:**[邮箱地址]
- **开发者社区:**[社区链接]
- **问题反馈:**[反馈渠道]

### 9.2 常见问题
**Q: [常见问题1]**
A: [解答]

**Q: [常见问题2]**
A: [解答]

### 9.3 相关资源
- [相关API文档链接]
- [SDK下载链接]
- [示例代码仓库]

请确保文档内容准确、完整,示例代码可以直接运行,错误处理覆盖全面。

⚙️ 参数说明

参数 说明 示例 必填
API名称 接口的功能名称 用户管理API、订单查询API
API版本 接口的版本号 v1.0、v2.1
服务类型 API的类型 REST API、GraphQL、WebSocket
基础URL API的基础访问地址 https://api.example.com
认证方式 API的认证方法 Bearer Token、API Key、OAuth
接口路径 具体的接口端点 /users/{id}、/orders
HTTP方法 请求的HTTP方法 GET、POST、PUT、DELETE

💼 使用示例

示例:用户信息查询API文档

输入:

**API基本信息:**
- API名称:用户信息查询API
- API版本:v1.0
- 服务类型:REST API
- 基础URL:https://api.example.com
- 认证方式:Bearer Token
- 接口功能:根据用户ID查询用户的详细信息

**接口详细信息:**
- 接口路径:/users/{userId}
- HTTP方法:GET
- 接口描述:通过用户ID获取用户的基本信息和扩展属性
- 业务场景:用户资料展示、权限验证、数据分析等

输出示例:

# API文档:用户信息查询API

## 1. 概述
### 1.1 接口描述
**功能说明:**
通过用户ID获取用户的详细信息,包括基本资料、账户状态、权限信息等。支持灵活的字段选择和数据过滤。

**业务场景:**
- 用户个人资料页面展示
- 管理后台用户信息查看
- 第三方系统用户数据同步
- 权限验证和访问控制

**版本信息:**
- 当前版本:v1.0
- 更新日期:2024-01-15
- 兼容性:向后兼容,支持旧版本客户端

### 1.2 接口信息
- **请求方法:**GET
- **接口路径:**`/users/{userId}`
- **完整URL:**`https://api.example.com/users/{userId}`
- **内容类型:**`application/json`
- **响应格式:**`JSON`

## 2. 认证授权
### 2.1 认证方式
**认证类型:**Bearer Token认证

**认证示例:**
```http
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```

**获取认证:**
1. 调用登录接口获取访问令牌
2. 在请求头中添加Authorization字段
3. 令牌有效期为24小时,过期需重新获取

### 2.2 权限要求
**所需权限:**
- user:read - 用户信息读取权限
- profile:view - 用户资料查看权限

**权限验证:**
系统会验证当前用户是否有权限查看目标用户信息,管理员可查看所有用户,普通用户只能查看自己的信息。

## 3. 请求参数
### 3.1 路径参数(Path Parameters)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|--------|------|------|------|------|
| userId | string | 是 | 用户唯一标识符 | 12345 |

### 3.2 查询参数(Query Parameters)
| 参数名 | 类型 | 必填 | 默认值 | 描述 | 示例 |
|--------|------|------|--------|------|------|
| fields | string | 否 | all | 指定返回的字段,多个字段用逗号分隔 | name,email,phone |
| include_sensitive | boolean | 否 | false | 是否包含敏感信息(需要特殊权限) | true |

### 3.3 请求头(Headers)
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|--------|------|------|------|------|
| Authorization | string | 是 | Bearer Token认证信息 | Bearer {token} |
| Accept | string | 否 | 接受的响应格式 | application/json |

## 4. 响应信息
### 4.1 成功响应(200 OK)
**响应示例:**
```json
{
  "code": 200,
  "message": "success",
  "data": {
    "userId": "12345",
    "username": "john_doe",
    "email": "[email protected]",
    "phone": "+1234567890",
    "profile": {
      "firstName": "John",
      "lastName": "Doe",
      "avatar": "https://cdn.example.com/avatars/12345.jpg",
      "bio": "Software Developer"
    },
    "account": {
      "status": "active",
      "createdAt": "2023-01-15T10:30:00Z",
      "lastLoginAt": "2024-01-15T08:45:00Z",
      "emailVerified": true
    },
    "permissions": ["user:read", "profile:edit"]
  },
  "timestamp": "2024-01-15T12:00:00Z"
}
```

### 4.2 错误响应
| HTTP状态码 | 错误码 | 错误描述 | 解决方案 |
|------------|--------|----------|----------|
| 400 | INVALID_USER_ID | 用户ID格式错误 | 检查userId参数格式 |
| 401 | UNAUTHORIZED | 认证失败 | 检查Authorization头部 |
| 403 | FORBIDDEN | 权限不足 | 确认用户权限 |
| 404 | USER_NOT_FOUND | 用户不存在 | 检查用户ID是否正确 |

## 5. 请求示例
### 5.1 cURL示例
```bash
curl -X GET \
  'https://api.example.com/users/12345?fields=name,email' \
  -H 'Authorization: Bearer your_token_here' \
  -H 'Accept: application/json'
```

### 5.2 JavaScript示例
```javascript
const response = await fetch('https://api.example.com/users/12345', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer ' + token,
    'Accept': 'application/json'
  }
});

const userData = await response.json();
console.log(userData);
```

## 6. 使用说明
### 6.1 最佳实践
**性能优化:**
- 使用fields参数只获取需要的字段
- 合理使用缓存,用户信息变更频率较低
- 批量查询时考虑使用批量接口

**错误处理:**
- 实现指数退避重试机制
- 记录详细的错误日志
- 对404错误进行特殊处理

### 6.2 限制说明
**请求限制:**
- 请求频率:每分钟最多100次
- 超时时间:30秒
- 并发限制:每个token最多10个并发请求

💡 使用技巧

📝 文档结构

  • 遵循统一的文档模板和格式
  • 使用清晰的标题层级和导航
  • 提供完整的目录和索引
  • 保持文档的逻辑性和连贯性

🔍 内容完整性

  • 包含所有必要的参数和字段说明
  • 提供真实可用的示例代码
  • 覆盖所有可能的错误情况
  • 说明业务规则和限制条件

💻 示例代码

  • 提供多种编程语言的示例
  • 确保示例代码可以直接运行
  • 包含完整的请求和响应示例
  • 展示常见的使用场景

🔄 维护更新

  • 及时更新API变更和新功能
  • 维护版本历史和变更日志
  • 收集用户反馈持续改进
  • 定期检查文档的准确性

🔗 相关案例

📚 返回案例库