Rest API framework built on expressjs focused on productivity by using typescript decorators and metadata
$ npm install --save cloverjs
import{ROUTE,GET,p,u}from'cloverjs';
@ROUTE('/books')classBooks{
@GET('/',false)// false for not requiring authenticationasyncgetBooks(){books=await ..........returnbooks;}
@GET('/:id')asyncgetBook(@p('id')id:string){book=await ...........returnbook;}
@POST('/')asynccreateBook(@pparams:any){// params is all the the path params,query & body merged }
@POST('/:id/like')asynclikeBook(@p('id'),@uuser:any){// @u is to inject request.user }}// bootstrap create expressjs app bootstrap({port:5000,parseUser:(req)=>{varuser={};// ... parse user from reqreq.user=user;return;}},newBooks());MIT © Oussama Gammoudi