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变更和新功能
- 维护版本历史和变更日志
- 收集用户反馈持续改进
- 定期检查文档的准确性