免费经典语句 API 返回字段全解:body / author / name / ret_code 一文读懂
免费经典语句API返回字段ret_code字段解析 # 免费经典语句 API 返回字段全解:body / author / name / ret_code 一文读懂
> 元信息:接口 1646-2 · 免费 · 返回 JSON · 适用人群 所有开发者 · 阅读时间 6 分钟
## 核心要点
- 业务数据都在 `showapi_res_body` 对象内,含 `body` / `author` / `name` / `ret_code` 四个字段。
- 系统级字段 `showapi_res_code`(0 成功)、`showapi_res_error`、`showapi_fee_num`、`showapi_res_id` 在 `showapi_res_body` 之外。
- `ret_code` 只有二态:0 为成功,其余为失败(文档未枚举具体非零错误码)。
## Why:为什么要把字段吃透
字段看错一个,前端就可能把作者当出处、把状态当内容。本文把官方文档里出现过的字段一次性列清,作为全系列的可复用附录——你写的每一篇集成文章,都可以直接链回这里。
## What:接口速览
| 项 | 值 |
|----|----|
| 接口/接入点 | 免费经典语句 · 1646-2 |
| 返回结构 | 系统级字段 + `showapi_res_body` 业务对象 |
| 业务字段 | body、author、name、ret_code |
| 状态码 | `ret_code`:0 成功 / 其余失败;`showapi_res_code`:0 成功 |
## How:字段对照表
**业务字段(`showapi_res_body` 内)**
| 字段 | 类型 | 说明 | 示例 |
|------|------|------|------|
| `body` | String | 名言内容正文 | 书山有路勤为径,学海无涯苦作舟。 |
| `author` | String | 作者 | 韩愈 |
| `name` | String | 相关标题/出处 | 古今贤文 |
| `ret_code` | Number | 业务状态码,0 为成功,其余为失败 | 0 |
**系统级字段(与 `showapi_res_body` 平级)**
| 字段 | 类型 | 说明 | 示例 |
|------|------|------|------|
| `showapi_res_code` | Number | 系统级状态码,0 成功 | 0 |
| `showapi_res_error` | String | 系统级错误文案,成功时为空 | (空) |
| `showapi_fee_num` | Number | 系统计费标记;本接口免费 | 1 |
| `showapi_res_id` | String | 本次请求唯一 ID | 6548901d0de3763d6ccb5c1f |
## 返回示例与解析
```json
{
"showapi_res_error": "",
"showapi_fee_num": 1,
"showapi_res_code": 0,
"showapi_res_id": "6548901d0de3763d6ccb5c1f",
"showapi_res_body": {
"body": "书山有路勤为径,学海无涯苦作舟。",
"author": "韩愈",
"ret_code": 0,
"name": "古今贤文"
}
}
```
解析要点:
- 先判 `showapi_res_code == 0`,再进 `showapi_res_body`。
- 进 `showapi_res_body` 后判 `ret_code == 0`,再取 `body`/`author`/`name`。
- `showapi_fee_num` 为 1 仅表示系统计费标记命中,**不代表产生费用**(本接口免费)。
## 进阶 / 边界
- **`name` 不是名言标题**:它是「相关标题/出处」(如《古今贤文》),与 `author`(作者)含义不同,展示时建议并列呈现:「内容 —— 作者《出处》」。
- **错误码不枚举**:文档只说明 `ret_code` 0 成功、其余失败,未给出具体非零码表,统一按"非 0 即失败,看 `showapi_res_error`"处理。
- **无批量数组**:返回示例为单条 `body`,文档未说明支持一次返回多条,按单条解析。
## FAQ
**Q:body 可能是空字符串吗?**
文档未明确返回空 `body` 的场景;若取到空内容,建议按"取数失败"处理并重新请求或走缓存兜底。
**Q:showapi_fee_num 是扣费次数吗?**
不是扣费。`showapi_fee_num` 是系统计费标记,本接口为免费服务,不产生费用。
**Q:ret_code 和 showapi_res_code 要判哪个?**
两层都要判:外层 `showapi_res_code` 判系统级成败,内层 `ret_code` 判业务成败,两者都为 0 才算真正取到数据。
**Q:name 字段能用来做分类吗?**
可以展示,但文档未承诺 `name` 的枚举范围,不要把它当成稳定的分类维度用于路由逻辑。
**Q:返回的 JSON 里还有别的字段吗?**
以上为官方文档列出的字段;以接口实际返回为准,新增字段按"未知字段忽略"原则处理即可。
## 相关能力 / 下一步阅读
- [5 分钟接入免费经典语句 API](https://www.showapi.com/guides/classic-quotes-quickstart-1646) — 第一次调用
- [免费经典语句 API 错误处理](https://www.showapi.com/guides/classic-quotes-error-handling-1646) — ret_code 非 0 排查
- [免费经典语句 API 标签筛选](https://www.showapi.com/guides/classic-quotes-tag-filter-1646) — tag 与返回关系
- **本系列共 11 篇**:查看[免费经典语句 API 开发指南总目录](https://www.showapi.com/guides/classic-quotes-guides-1646)