1. 思考一下这里能否获取 params,如果不行,为什么不行?能如何解决?
不能获取params 原因:ctx.params取自vue-router中路由的动态参数,在router中间件加载vue-router后方可获取;而api-params-verify中间件为全局中间件,在router中间件加载之前就已经加载,根据koa的洋葱圈模型此处无法获取ctx.params 解决方案: 1. 在全局中间件之前加载router中间件(不推荐)全局中间件不止api-params-verify,还有其他中间件如error-handler、api--sign-verify等 2. 针对params的校验提取为公共方法,在每个需要校验的api手动校验(重复工作) 3. 将api-params-verify从全局中间件中抽离,在router中间件之后进行api参数校验