egg-parameters
Merge all parameters (ctx.params
, ctx.request.query
, ctx.request.body
) into ctx.params
like Rails application.
Configuration
config/plugin.js
exportsparameters = enable: true package: 'egg-parameters';
config/config.default.js
exportsparameters = logParameters: true // param names that you want filter in log. filterParameters: 'password';
Usage
When you add egg-parameters
into your package.json
this will enabled by default.
// app/controller/posts.jsmoduleexports = class /** * POST /posts?title=jason&foo=1&user_id=123 */ async { const ctx = this; const postParam = ctxparams // postParam => { title: '', body: '' } // postParam.isPermitted() => true // :foo, :user_id will be filted // Now you can use safely for egg-sequelize create param const post = await ctxmodelPost; ctxbody = post; };