写个文章详情页的接口
时间: 2023-03-04 07:38:43 浏览: 97
好的,这里我提供一个示例文章详情页的接口设计,包含请求参数、返回参数等信息。
## 接口地址
```
GET /api/article/{id}
```
其中,`id` 为文章的唯一标识符,可以是数字或字符串等形式。
## 请求参数
| 参数名 | 类型 | 是否必须 | 默认值 | 描述 |
| ------ | ------ | -------- | ------ | ------------------- |
| id | string | 是 | 无 | 文章的唯一标识符 |
| fields | string | 否 | all | 返回的字段列表 |
| expand | string | 否 | 无 | 扩展字段列表 |
- `fields`:返回的字段列表,可以是逗号分隔的多个字段名,或者 `all` 表示返回所有字段。如果不传该参数,则默认返回所有字段。
- `expand`:扩展字段列表,可以是逗号分隔的多个字段名。扩展字段包含文章相关的其他信息,比如作者信息、评论列表等。如果不传该参数,则不返回扩展字段。
## 返回参数
成功返回的数据结构如下:
```
{
"id": "123456", // 文章ID
"title": "文章标题", // 文章标题
"content": "文章内容", // 文章内容
"created_at": "2023-02-01 09:00", // 文章创建时间
"updated_at": "2023-02-05 15:30", // 文章更新时间
"author": { // 作者信息(扩展字段)
"id": "7890", // 作者ID
"name": "作者姓名" // 作者姓名
},
"comments": [ // 评论列表(扩展字段)
{
"id": "111", // 评论ID
"content": "评论内容", // 评论内容
"created_at": "2023-02-03", // 评论创建时间
"user": { // 评论用户信息
"id": "222", // 用户ID
"name": "用户姓名" // 用户姓名
}
},
{
"id": "222",
"content": "评论内容",
"created_at": "2023-02-04",
"user": {
"id": "333",
"name": "用户姓名"
}
}
]
}
```
其中,`author` 和 `comments` 是扩展字段,只有在 `expand` 参数中包含对应字段名时才会返回。
如果文章不存在,则返回状态码为 `404`。
如果请求参数有误或服务器错误,则返回状态码为 `4xx` 或 `5xx`。具体错误信息可通过响应头或响应体的错误码和错误信息字段获得。