启动swagger编辑器时删除petstore规范

时间:2018-03-27 14:34:16

标签: swagger-editor

我在我的机器中本地使用Swagger编辑器。

当我启动Swagger编辑器时,默认情况下会在启动时显示petstore的规范。

我想删除它并显示一个空白的编辑器。有没有办法在启动时这样做。

5 个答案:

答案 0 :(得分:1)

使用以下js代码在swagger编辑器中删除默认内容。

 editor = SwaggerEditorBundle({
        dom_id: "#swagger-editor",
        layout: "StandaloneLayout",
        presets: [SwaggerEditorStandalonePreset]
      });
      window.editor = editor;
      // The line to remove the content in swagger editor
      editor.specActions.updateSpec(' ');

答案 1 :(得分:0)

一个简单的解决方法是使用?url=参数运行编辑器,其中URL指向空页面(无HTTP响应正文),例如http://httpbin.org/status/200

http://editor.swagger.io/?url=http://httpbin.org/status/200

这将打开一个空白的编辑器。


或者,您可以修改编辑器的源代码并构建自己的版本。您将需要Node.js 6.x和npm 3.x(截至撰写本文时)。

默认编辑器内容似乎在这里设置: https://github.com/swagger-api/swagger-editor/blob/master/src/plugins/local-storage/index.js#L29

  1. src\plugins\local-storage\index.js中,替换

    import PetstoreYaml from "./petstore"
    

    const PetstoreYaml = ""
    
  2. 重建编辑器:

    npm run build
    

答案 2 :(得分:0)

将{strong> url 属性插入swagger-editor's index.html之类的swagger-ui's it中。

详细信息

Open custom yaml spec in swagger editor on startup · Issue #1727 · swagger-api/swagger-editor

  

您可以使用Swagger-UI的配置选项来加载自己的定义:有用于获取远程文档的url和用于直接传递JavaScript对象的规范。 Swagger-Editor将这些选项直接传递到其基础的Swagger-UI实例。

答案 3 :(得分:0)

如果您使用的是docker image(docker pull swaggerapi / swagger-editor)在本地运行swagger编辑器,则提供您自己的本地json或yaml文件,如下所示:

$ ls
teapi-openapi.yaml
$sudo docker run -d -p 9800:8080 -v $(pwd):/tmp -e SWAGGER_FILE=/tmp/teapi-openapi.yaml swaggerapi/swagger-editor

要访问:

http://<IP>:9800/

其中ip是运行swagger编辑器映像的计算机IP,将9800替换为要访问的任何端口

答案 4 :(得分:0)

从下一个版本v1.4.1开始,将添加以下属性以禁用swagger-ui默认的petstore网址:

springdoc.swagger-ui.disable-swagger-default-url=true

复制自 https://github.com/springdoc/springdoc-openapi/issues/714#issuecomment-640215759