Swagger节点表达如何拆分规范文件?

时间:2017-06-22 09:35:56

标签: node.js express swagger

我可以将API拆分为多个YAML文件吗?

我正在使用YAML格式来记录API。是否可以将文档拆分为多个YAML,例如我想要这样的东西:

  • parameters_common.yaml - 多个通用的参数 API的
  • parameters_customers.yaml - 特定于

  • 的参数
  • 客户API swagger.yaml - 客户API(包括以前的 两个yaml文件)

    swagger: '2.0'
    parameters: 
      $ref: parameters_common.yaml
    paths: 
     ...
    

    parameters_common.yaml

    - name: param_one
     ...
    - name: param_two
     ...
    

app.js

'use strict';

var SwaggerExpress = require('swagger-express-mw');
var middleware = require('swagger-express-middleware');
var SwaggerUI = require('swagger-tools/middleware/swagger-ui');
var app = require('express')();
module.exports = app; // for testing

var config = {
  appRoot: __dirname, // required config,  
  swaggerFile: 'api/swagger/swagger.yaml', // which swagger file
};

SwaggerExpress.create(config, function(err, swaggerExpress) {
  if (err) { throw err; }

    app.use(SwaggerUI(swaggerExpress.runner.swagger, {
        swaggerUi: '/docs', // Swagger UI URL
        //apiDocs: '/api/docs', // api document URL
      }));

  // install middleware
  swaggerExpress.register(app);

  var port = process.env.PORT || 10010;
  app.listen(port);

  if (swaggerExpress.runner.swagger.paths['/hello']) {
    console.log('try this:\ncurl http://127.0.0.1:' + port + '/hello?name=Scott');
  }
});

当我运行此命令时:

  

节点app.js

控制台错误

  

初始化中间件时出错   错误:Swagger文档验证失败,因此服务器无法

     

... \ node_modules \招摇工具\ index.js:72:13

     

启动

     

招摇工具\中间件\招摇-ui.js:74个
  抛出新的TypeError('rlOrSO必须是一个对象');

0 个答案:

没有答案