koa-api-builder
v0.2.4
Published
koa api builder to create koa-router apis easier
Downloads
13
Maintainers
Readme
Koa-api-builder
Helper to build koa-router apis easily
Dependencies
- node 14 or higher
- koa-router
- koa
Sample usage
import ApiBuilder from "koa-api-builder";
const group = new ApiBuilder().path((group) => {
group.post('/login', loginRequest)
.post('/signup', signupRequest)
.path('/user/:userId/accounts', ifAuthenticated, (group) => {
group.get(listAccountsRequest)
.post(ifAllowed, insertAccountRequest)
.path('/:accountId', (group) => {
group.get(findAccountRequest);
group.put(updateAccountRequest);
group.del(ifAllowed, delAccountRequest);
group.get('/transactions', listTransactionsRequest);
});
});
});
// then we build our api definition into a regular koa-router
const router = group.build();
Similar libraries
See router section on koa wiki
Inspiration
This api builder is heavily copied from Javalin's group handler
Roadmap
- [X] Initial implementation
- [X] Test and coverage
- [X] Publish npm package
- [X] Add linting tool
- [X] Publish every new tag
- [ ] Publish coverage results
- [ ] ~~Add special
render
pseudo-verb for template engines~~ - [ ] Add Server Sent Events configuration support
- [ ] Add WebSockets configuration support
See the changelog for more details