Restify:接下来“覆盖”默认值

时间:2016-04-25 18:12:17

标签: javascript node.js restify

我希望在Restify中覆盖默认值。例如。现在我有像

这样的代码
server.post('/names', function (req, res, next) {
  names = req.params.names;
  if (!Array.isArray(names)) {
    return next(new restify.errors.BadRequestError('names field is wrong or missing'));
  }
  res.send({ code: "OK" });
  return next();
});

我希望它只是

server.post('/names', function (req, res, next) {
  names = req.params.names;
  if (!Array.isArray(names)) {
    return next(new restify.errors.BadRequestError('names field is wrong or missing'));
  }
  // Add names to DB
  return next();
});

next(非错误结果)与

相似
function next(res) {
  if (!body.hasOwnProperty("code")) {
    body["code"] = "OK";
  }
  res.send(body);
}

实施此方法的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我认为您可能正在寻找在链中的所有其他处理程序完成后执行的处理程序。考虑"之后"事件处理程序在文档中,他们显示an example for audit logging

您应该能够根据需要使用相同的内容来更新响应正文。代码可能看起来像这样......

server.on('after', function (request, response, route, error) {});

请注意,这仍然要求您从链中的所有其他处理程序return next();开始。