利用stage filter扩展router配置项增强功能

在接口调用的过程中,往往有些参数前端不传递时,可以有个默认值。而利用filter可以很方便扩展router的一个配置项,增加默认值。实现过程如下:

  stage.after('matchRouter', (req, res, next) => {
    const defaultParam = (req.router || {}).defaultParam;

    // 为配置项增加默认参数的配置
    if (defaultParam) {
      req.param = Object.assign({}, defaultParam, req.param);
      req.query = Object.assign({}, req.param, req.query);
      req.body = Object.assign({}, req.param, req.body);
    }

    next();
  });

这样,在Router路由配置章节所提及的routerMeta,就可以增加一项配置:routerMeta.defaultParam,类型为一个对象,将作为默认参数提供给接口。

同样的做法,可以实现其他个性化用途的配置定制,需熟悉Stage下的每个章节所介绍的过程及产出物。

results matching ""

    No results matching ""