open-rest-helper-params

    1.0.0 • Public • Published

    open-rest-helper-params

    open-rest 的 helper 插件,用来对 req.params 进行操作处理

    Build status codecov

    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();

    Install

    npm i open-rest-helper-params

    DownloadsWeekly Downloads

    24

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • avatar