【问题标题】:Error handling in swagger-express-mwswagger-express-mw 中的错误处理
【发布时间】:2016-12-14 22:51:39
【问题描述】:

我的 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 响应以及我的错误消息,如预期的那样。然而,错误处理中间件根本没有被调用。有什么想法吗?

【问题讨论】:

  • 错误处理程序出现在 swaggerExpress.register()函数之后很重要。

标签: node.js express swagger


【解决方案1】:

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

  • onError: json_error_handler

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    相关资源
    最近更新 更多