Use API Fields easily in Koa.
yarn add @lcdev/api-fields-middleware@0.1import{ApiField}from'@lcdev/api-fields';// somewhere, where your model is definedclassEntityA{
@ApiField()publicFieldA: any;
@ApiField()publicFieldB: any;privateFieldA: any;privateFieldB: any;}import{extractApiFieldsMiddleware}from'@lcdev/api-fields-middleware';// somewhere, where you have a koa routerapp.get('/foo/bar',extractApiFieldsMiddleware(EntityA),async(ctx,next)=>{// the body ends up as an object that is, or looks like an 'EntityA'ctx.body=newEntityA();returnnext();});This will perform the extract with ApiFields of EntityA, after your router
middleware has run. This will only apply if the response is a 200.
Features:
- Supports
extractApiFieldsMiddleware([EntityA])to imply that the api response is an array of EntityA - Supports
extractApiFieldsMiddleware({ ... }, true)to pass a "raw"Extractionobject to use (you might usegetApiFieldswith an extension here)