【问题标题】:Swagger cannot parse YAML: "SyntaxError: Unexpected token :"Swagger 无法解析 YAML:“SyntaxError: Unexpected token :”
【发布时间】:2020-03-04 16:23:25
【问题描述】:

我尝试遵循本指南:https://blog.cloudboost.io/adding-swagger-to-existing-node-js-project-92a6624b855b。我将此行更改为使用 YAML:

swaggerDocument = require('./swagger.yml');

Swagger 编辑器中的示例不起作用。 http://editor.swagger.io/

tags:
  - name: "pet"
    description: "Everything about your Pets"

出现此错误:

  - name: "pet"                
        ^                      

SyntaxError: Unexpected token :

我尝试更改缩进,但没有帮助。我查看了规范,但它说没关系:https://yaml.org/spec/1.2/spec.html#id2761803

【问题讨论】:

    标签: node.js yaml swagger


    【解决方案1】:

    我不得不把它改成

    var swaggerUi = require('swagger-ui-express')
    var fs = require('fs')
    var jsyaml = require('js-yaml');
    var spec = fs.readFileSync('swagger.yml', 'utf8');
    var swaggerDocument = jsyaml.safeLoad(spec);
    

    并将app/swagger.yml 移动到项目根目录。 fs.readFileSync() 无法像 require() 那样理解 ./swagger.yml。

    【讨论】:

      猜你喜欢
      • 2017-06-23
      • 2016-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多