如何使用 npm index.js 在 swagger ui 中引用多个文件

How to refer multiple files in swagger ui using npm index.js

你好,我是 quite 新手,刚接触 swagger ui OAPSEC 定义。目前我们在项目中有一个 yaml 文件,我们想要这个 yaml 文件的多个版本。并且我们希望在 swagger ui 中支持这些多个 yaml 文件(类似于下拉菜单以选择应显示哪个 yaml 文件 api 的 swagger)。截至目前,对于单个文件,我们有以下代码可以正常工作。

import SwaggerUI from 'swagger-ui'
import 'swagger-ui/dist/swagger-ui.css';

const spec = require('./folder/to/sepc/spec.yaml');

const ui = SwaggerUI({
  spec,
  dom_id: '#swagger',

  
  supportedSubmitMethods: [],

});

ui.initOAuth({
  appName: "API NAME",
  clientId: 'implicit'
});

从上面的代码中,我尝试删除 spec 属性并添加到 urls(dummy) 参数下方。但不幸的是,当我 运行 时,我在 swagger ui 中看到了一个没有 api 定义的屏幕。一些指示会有所帮助。

urls: [
    {name: "petstore",  url: "http://petstore.swagger.io/v2/swagger.json"},
    {name: "instagram", url: "https://api.apis.guru/v2/specs/instagram.com/1.0.0/swagger.yaml"}
  ],
  "urls.primaryName": "petstore"

我已经彻底验证了 swagger UI 文档,我知道这个 urls 参数将支持 swagger-ui-dist 模块。谢谢