KambojaJs
![devDependencies Status](https://david-dm.org/kambojajs/kamboja/dev-status.svg)
KambojaJS aims to fix some problems occurs when using the old guy, like increase testability, add convention over configuration and use modern language feature like async/await decorator etc, read more http://kambojajs.com/
Convention Over Configuration
KambojaJS route generation system generate url using pattern below:
<namespace>/<controller>/<action>?<parameter1>=value&<parameter2>=value
Example you define controller like below
import { Controller } from "kamboja"
export namespace Api.v01
export class UserController extends Controller {
list(query:string, offset:number, limit:number){ }
}
}
Above code by default will generate a GET url below
/api/v01/user/list?query=<value>&offset=<value>&limit=<value>
Refer to controller reference for more information
For more advanced use, KambojaJS provide a convention for creating Restful API by using ApiController
Example controller below will create Restful API url for you
import { ApiController } from "kamboja"
namespace Api.V1 {
export class ItemsController extends ApiController {
get(id:string) { }
list(offset:number, limit=50){ }
add(data){ }
delete(id:string){ }
replace(id:string, data){ }
modify(id:string, data){}
}
}
Above code will generate some urls:
GET /api/v1/items/:id
GET /api/v1/items?offset=1&limit=<optional>
POST /api/v1/items
DELETE /api/v1/items/:id
PUT /api/v1/items/:id
PATCH /api/v1/items/:id
Refer to ApiController for more information