首页 > 解决方案 > 在 Redoc 侧边菜单中有 Schemas

问题描述

Redoc 是一个很棒的工具,但我很难理解它是如何工作的。目前,我的任务是从 api-docs.io 复制一些文档,以便使用redoc进行自助服务。

但是,我的问题是模式没有像在 api-docs 网站上那样出现在侧栏中。我不确定如何让模型也显示在侧面......而且我对 api 文档还很陌生。您还可以在此处查看模型的显示方式。请参阅下面的另一个示例。

在此处输入图像描述

我查看了这是否是 redoc 的一个特性,并遇到了这个合并的 PR,它(基于 PR 问题中的讨论)指出我们应该添加一个 html 元素,SchemaDefinition. 我正在使用基本的 html 文件(建议在 redoc repo 的自述文件中),但我们想使用 json 模式(用 引用spec-url)来呈现 redoc 上的文档,所以我很难理解如何操作仅使用 html 元素的侧栏。

也许这只是我对redoc如何工作的理解不足。如果您觉得是这种情况,那么快速的解释会很棒。

标签: htmldocumentationjsonschemaredoc

解决方案


您必须使用附加信息修改 json。

示例 json(没有侧边栏模型部分):https ://petstore3.swagger.io/api/v3/openapi.json

添加到“标签”数组

{
  "name": "pet_model",
  "description": <SchemaDefinition schemaRef="#/components/schemas/Pet" />,
  "x-displayName": "Pet"
},
{
  "name": "user_model",  
  "description": <SchemaDefinition schemaRef="#/components/schemas/User" />,
  "x-displayName": "User"
}

然后对侧边栏进行分组,添加x-tagGroups扩展

...
"tags": [...],

"x-tagGroups": [{
  "name": "Api",
  "tags": ["pet", "store", "user"]
},
{
  "name": "Models",
  "tags": ["pet_model", "user_model"]
}],

"paths": ...

推荐阅读