技术博客
歇后语查询 num 参数详解:随机条数、maxResult 与返回上限

歇后语查询 num 参数详解:随机条数、maxResult 与返回上限

作者: 万维易源
2026-08-31
歇后语查询num参数分页字段
# 歇后语查询 num 参数详解:随机条数、maxResult 与返回上限 - **接口/接入点**:歇后语查询 · 1635-1 - **是否免费**:是 - **请求方式**:POST / GET - **返回格式**:JSON - **适用人群**:中高级开发者、需要精确控制返回量的工程师 - **阅读时间**:约 6 分钟 ## 核心要点 - 请求侧**唯一参数**是 `num`(选填,String):随机返回几条,示例值 `3`。 - 返回体内的 `maxResult`/`allNum`/`allPages`/`currentPage` 是描述底层语料规模的字段,**不是翻页入参**。 - 底层语料有限(示例 `allNum=19`),随机可能重复;量大场景靠本地去重。 ## Why:为什么要把 num 讲清楚 很多开发者看到返回里有 `allPages`/`currentPage`,误以为能翻页;看到 `num` 又不确定传不传。本文把"请求有什么、返回有什么"一次讲清,避免误用。 ## What:参数与字段对照 | 位置 | 名称 | 类型 | 说明 | |------|------|------|------| | 请求 | `num` | String(选填) | 随机返回几条,如 `3`;不传由接口给默认值 | | 返回 | `maxResult` | String | 每页最大条数(返回体内字段) | | 返回 | `allNum` | String | 总条数(示例 19,反映底层语料规模) | | 返回 | `allPages` | String | 总页数 | | 返回 | `currentPage` | String | 当前页码 | > **重要**:请求侧只有 `num`,**没有 `page` / `pageSize` 等翻页参数**(已与 OpenAPI YAML 核实 `parameters: []` 仅 `num`)。 ## How:用法示例 ### 取 5 条 ```python import requests r = requests.post("https://route.showapi.com/1635-1", params={"appKey": "YOUR_APPKEY"}, data={"num": "5"}, timeout=15) body = r.json()["showapi_res_body"] print("本次返回条数:", len(body["contentlist"])) print("底层语料总量 allNum:", body.get("allNum")) ``` **cURL** ```bash curl -X POST "https://route.showapi.com/1635-1?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" -d "num=5" ``` **Node.js** ```javascript const r = await fetch("https://route.showapi.com/1635-1?appKey=YOUR_APPKEY", { method: "POST", headers: { "content-type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ num: "5" }), }); const body = (await r.json()).showapi_res_body; console.log("返回条数:", body.contentlist.length, "allNum:", body.allNum); ``` ## 返回示例与解析 ```json { "showapi_res_body": { "ret_code": "0", "contentlist": [ { "question": "刘阿斗的江山", "answer": "白送" } ], "maxResult": "20", "allNum": "19", "allPages": "1", "currentPage": "1" } } ``` `allNum=19` 说明底层语料约 19 条;`maxResult=20` 表示单页最大条数(返回体内描述字段)。 ## 进阶 / 边界 - **`num` 不传会怎样**:接口会按自身默认返回,建议始终显式传以稳定结果。 - **`num` 上限**:以接口实际返回为准,文档未给固定上限;不要臆造"最大 100"之类数字。 - **重复问题**:语料有限 + 随机,多次调用易重复,生产用本地去重(见缓存去重篇)。 ## FAQ **Q:num 不传行吗?** A:可以,接口会给默认条数;但为结果稳定建议显式传。 **Q:能翻页吗?** A:不能,请求侧只有 `num`,返回里的 allPages/currentPage 只是描述语料规模,无 page 入参。 **Q:num 最大能传多少?** A:以接口实际返回为准,文档未给固定上限,不编数字。 **Q:为什么 allNum 才 19?** A:示例值反映底层语料规模有限;实际规模以接口返回为准,不要当固定常量。 **Q:maxResult 和 num 什么关系?** A:`maxResult` 是返回体内"每页最大条数"描述字段,`num` 是你请求的随机条数,二者不在同一层,不要混淆。 ## 相关能力 / 下一步阅读 - [免费接口也要稳:歇后语查询本地缓存与去重策略](https://www.showapi.com/guides/xiehouyu-cache-dedup-1635) - [歇后语查询返回字段全解:contentlist / ret_code / 分页字段一文读懂](https://www.showapi.com/guides/xiehouyu-response-fields-1635) - **本系列共 13 篇**:查看[歇后语查询指南总目录](https://www.showapi.com/guides/xiehouyu-guides-1635)