You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Middleware allowing the client to filter the response to only what they need,
reducing the amount of traffic over the wire using the ?filter=foo,bar,baz querystring parameter.
JSONSelect would also be great for this but I find it's a little too complicated for the average use-case,
so this is just a simple key filter.
Installation
$ npm install @koa/json-filter
Please note that if you're using an earlier version of koa 2 with function generator you need to install the older version 0.0.1
$ npm install koa-json-filter@0.0.1
Options
name querystring param defaulting to "filter"
Filtering customization
You may also set ctx.filter to an array of names to filter on,
for example by using a header field X-Filter: name,email.
Example
Object responses
Script:
constKoa=require('koa');constfilter=require('@koa/json-filter');constapp=newKoa();app.use(filter());app.use(asyncctx=>{ctx.body={name: 'tobi',email: 'tobi@segment.io',packages: 5,friends: ['abby','loki','jane']};});app.listen(3000);console.log('app listening on port 3000');