【问题标题】:Loopback customize remote method error callbackLoopback 自定义远程方法错误回调
【发布时间】:2017-02-15 07:06:46
【问题描述】:

我对环回模型有一点问题。我有各种受到远程方法攻击的模型。所有方法都使用自己的回调函数进行响应。 当我将错误对象放入回调函数时,我的问题就开始了。 例如:

 promise()
        .then(promiseResult => sencondPromise())
        .then(promiseResult => cb(null, promiseResult))
        .catch(err => cb({"status" : 400, "message" : "Response test"}, null));

触发正面回调时没有问题。但是当触发负回调时:

cb({"status" : 400, "message" : "Response test"}, null));

我收到了这样的回复:

{
  "error": {
    "statusCode": 400,
    "message": "Response test"
  }
}

为什么将status字段改为statusCode?​​p>

提前致谢。

【问题讨论】:

  • 为什么会有问题?你到底需要做什么?
  • 对我来说这个响应是个问题,因为我必须使用另一种类型来错误响应。例如:{ "error": { "status": 400, "message": "Response test" } } 可以将默认参数 'statusCode' 更改为 'status' 吗?
  • 这是官方错误对象环回发送回客户端。如果要自定义错误对象,则需要创建自己的

标签: javascript loopbackjs strongloop loopback


【解决方案1】:

用于创建您自己的错误处理程序:

1) 从middleware.json 中删除strong-error-handler

2) 创建config.local.js 并将下面的代码放在那里:

function errorConverter(options){
  return function(err, req, res, next){
    //check err and create your custom error object
    var customErr = {};
    next(customErr);
  }
}

module.exports = {
  remoting: {
    errorHandler: {
      handler: errorConverter()
    }
  }
};

【讨论】:

    猜你喜欢
    • 2018-04-29
    • 2016-05-23
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    相关资源
    最近更新 更多