如何在<redoc>中添加选项?

时间:2018-10-11 15:31:00

标签: asp.net-mvc swagger documentation

我想在我的ReDoc中添加一些其他选项。对于当前的实现,我使用的是从Swagger生成的json文件,并将其添加到html页面中。示例如何完成此操作:

  <body>
    <redoc spec-url='http://petstore.swagger.io/v2/swagger.json'></redoc>
    <script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"> </script>
  </body>

我将其用作参考文档:https://github.com/Rebilly/ReDoc

如何在标签中添加选项对象而不使用ReDoc对象?以及如何使用供应商扩展x徽标? 在文档中,这是通过json文件设置的,但是我的json文件是从Swagger自动生成的。

3 个答案:

答案 0 :(得分:1)

您只需将选项放在spec-url标签中redoc之后,如下所示:

<body>
    <redoc spec-url='http://petstore.swagger.io/v2/swagger.json' YOUR_OPTIONS_HERE></redoc>
    <script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"> </script>
</body>

在此示例中,您可以在ReDoc存储库上进行验证(此刻在第22行):

https://github.com/Rebilly/ReDoc/blob/master/config/docker/index.tpl.html#L22

重要提示:

请记住“烤肉架的ReDoc选项” ,例如,如果您的选项是:

hideDownloadButton noAutoAuth disableSearch

YOUR_OPTIONS_HERE

应该(在将它们包起来后):

hide-download-button no-auto-auth disable-search

具有这些选项的身体变成这样:

<body>
    <redoc spec-url='http://petstore.swagger.io/v2/swagger.json' hide-download-button no-auto-auth disable-search></redoc>
    <script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"> </script>
</body>

希望对您有用。

答案 1 :(得分:0)

ReDoc通过Redoc.init进行了高级初始化,因此您可以手动下载规范并添加一些后处理功能(例如添加x-logo)。

您可以将ReDoc选项作为第二个参数传递给Redoc.init

<body>
  <div id="redoc"></div>
  <script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"> </script>
  <script>
    fetch('http://petstore.swagger.io/v2/swagger.json')
      .then(res => res.json())
      .then(spec => {
        spec.info['x-logo'] = { url: "link/to/image.png" };
        Redoc.init(spec, {
        // options go here (e.g. pathInMiddlePanel)
        }, document.getElementById('redoc'));
      });
</body>

注意::这要求Fetch API在浏览器中可用,以便它不能在IE11中使用。

答案 2 :(得分:0)

您可以将选项放在spec-url旁边。 确保您正在使用的Redoc版本具有要使用的选项,可以通过转到特定版本进行检查。 github.com/Redocly/redoc/tree/vx.x.x。 附带说明一下,在v1.22.3之前都可以使用延迟渲染。

https://github.com/Redocly/redoc#redoc-options-object

You can use all of the following options with standalone version on tag by kebab-casing them, e.g. scrollYOffset becomes scroll-y-offset and expandResponses becomes expand-responses.