swagger-express-mw中的错误处理

时间:2016-12-14 22:51:40

标签: node.js express swagger

我的app.js中有以下代码

'use strict';

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

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

SwaggerExpress.create(config, function(err, swaggerExpress) {
   console.log("Web Server started.");

   if (err) { throw err; }

   // install middleware
   swaggerExpress.register(app);
   app.use(function(err, req, res, next) {
     console.log('caught it!');
     dosomething();
   });
   var port = process.env.PORT || 10010;
   app.listen(port);

});

我的控制器hello_world.js

function hello(req, res) {
    throw new Error('my error!');  
}

当我将应用程序和浏览器启动到http://localhost:10010/hello时,会返回500响应并显示我的错误消息。但是,错误处理中间件根本没有被调用。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

如果您从default.yaml删除默认配件,它将起作用。

  • onError:json_error_handler