能否通过Redocly/Redocly CLI生成每页单请求的输出?
如何用Redocly生成单请求单页面的API文档
可以实现,但Redocly CLI本身没有直接输出“每页一个请求”的内置命令,你可以通过以下两种方式达成需求:
方法1:拆分OpenAPI文件,单独生成单请求页面
这是最直接的方式,把原OpenAPI规范拆分成多个仅包含单个API请求的子文件,再分别生成独立页面:
- 拆分原
Sample.yaml,为每个API请求创建单独的子文件(比如get-users.yaml、create-user.yaml),每个子文件保留必要的OpenAPI顶层结构(openapi版本、info、components等),可以通过$ref引用公共组件文件来避免重复代码 - 对每个子文件执行
redoc-cli bundle命令:redoc-cli bundle -o get-users.html get-users.yaml redoc-cli bundle -o create-user.html create-user.yaml - 这样每个生成的HTML文件就只包含单个API请求的文档内容
方法2:自定义Redoc模板实现分页渲染
如果不想拆分原文件,可以通过自定义Handlebars模板控制渲染结构,实现每个请求独立分页:
- 复制Redoc的默认模板作为基础,修改模板逻辑,遍历
paths时为每个API请求添加分页标记(比如利用CSS的page-break-after: always属性) - 使用自定义模板执行bundle命令:
redoc-cli bundle -o multi-page.html Sample.yaml --template custom-template.hbs - 如果需要生成PDF格式的多页文档,结合
redoc-cli pdf命令和上述模板,就能让每个请求自动成为独立一页
内容的提问来源于stack exchange,提问作者ForEachLoop
相关产品推荐
相关产品推荐

