open-rest-helper-params
open-rest 的 helper 插件,用来对 req.params 进行操作处理
Node version
>= 6
Usage
npm instsall open-rest-helper-params --save
const rest = require('open-rest');
const params = require('open-rest-helper-params')(rest);
// params Equivalent to rest.helper.params
## params.omit
从 req.params 上去掉一些参数
```js
// keys Array 要从req.params 去掉的参数的名称
params.omit(keys);
// return
// function(req, res, next) { ... };
//or 链式调用
params
.omit
.keys(['name', 'password'])
.exec();
params.required
判断某些必须的参数是否存在
// keys Array 要判断的参数名称
// error 如果不想等报的错误,Error类型, 可选
params.required(keys, error);
// return
// function(req, res, next) { ... };
//or 链式调用
params
.required
.keys(['username', 'password'])
.error(new restify.MissingParameterError('用户名和密码是必填项')
.exec();
params.map
根据字典将 req.params 的参数名称做个映射
// dict Object {key(String) => value(String)}
params.map({email: 'username', pwd: 'password'});
// return
// function(req, res, next) { ... };
//or 链式调用
params
.map({email: 'user', pwd: 'password'})
.exec();
params.assign
给指定的 req.params 某个key赋值,可以是静态的值,也可以是动态的值
// keyPath 从 req.params 上的路径,例如: 'id', 'user.name', 分别代表 req.params.id, req.params.user.name
// obj 要赋的值
// 1. {path: 'params.id'} 代表值从 req.params.id 获取
// 2. {fixed: 20} 代表固定的值
// 静态值
params.assign('user.name', {fixed: 'Redstone Zhao'});
// 动态值
params.assign('user.name', {path: 'hooks.user.name'});
// return
// function(req, res, next) { ... };
//or 链式调用
params
.assign
.keyPath('user.name')
.obj({path: 'user.role'})
.exec();