create restful api application with the same feeling of Asp.Net WebApi
Dont need write the annoying koa.use(...). Instead, webapi-router will auto use the controller file path for router path.
Also, use decorator @GET(path) can indicate the router path directly.
Support @GET, @POST, @DELETE, @PUT, @OPTIONS, @HEAD, @PATCH.
import { WebApiRouter } from '../lib/index';
app.use(new WebApiRouter().router('sample/controllers', 'api'));export class TestController extends BaseController
{
}///:name is a path param, get it in arguments by using @PathParam
/// get body by using @BodyParam
/// get query param by using @QueryParam
@POST('/user/:name') // argument is option, if empty, will using controller file path as router path.
postWithPathParam(@PathParam('name') name: string, @QueryParam('id') id: string, @BodyParam body: any) {
console.info(`TestController - post with name: ${name}, body: ${JSON.stringify(body)}`);
return 'ok';
}