最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何安装中间件招摇表达要快,验证

运维笔记admin9浏览0评论

如何安装中间件招摇表达要快,验证

如何安装中间件招摇表达要快,验证

我想修改我的快递,招摇的项目和以下this tutorial to add input validation into an express app

我用swagger-express-mw包使用swagger project create app而是生成一个样板它不清楚的地方,如我上面提到的教程解释我可以加我的中间件。具体来说,我不能拦截我的要求,我得到一个类型错误:

    TypeError: req.checkBody is not a function
     at saveNote 

这是我的项文件。从bodyParser和验证功能一切的除了从样板来,所以我不明白

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

  // install middleware
  swaggerExpress.register(app)
  // middleware
  app.use(bodyParser.urlencoded({ extended: false })); // my code
  app.use(validator()) // my d

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


  // if (swaggerExpress.runner.swagger.paths['/notes']) {
  //   console.log('try this:\nlocalhost:10010/notes to get all notes')
  // }
})
回答如下:

我知道这是一个老问题,但是这可能帮助沿着way.Here有人展示如何用swagger-toolsswagger-express-mw NPM swagger-node-runner整合包装简单的代码的NodeJS。


var SwaggerExpress = require('swagger-express-mw');
var swaggerTools = require('swagger-tools');

var app = require('express')();
module.exports = app; // for testing

var config = {
    appRoot: __dirname // required config
};

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

    // install middleware
    swaggerExpress.register(app);

    //swaggerobject is created by the swagger-express-mw module which is stored in runner object.
    var swaggerObjectLoaded = swaggerExpress.runner.swagger;

    //pass the runner object to initializeMiddleware function 
    swaggerTools.initializeMiddleware(swaggerObjectLoaded, function(middleware) {


        app.use(middleware.swaggerMetadata());

        // Validate Swagger requests
        app.use(middleware.swaggerValidator());

        // Route validated requests to appropriate controller
        app.use(middleware.swaggerRouter(options));

        // Serve the Swagger documents and Swagger UI
        app.use(middleware.swaggerUi());

        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');
        }
    });

});
发布评论

评论列表(0)

  1. 暂无评论