Koa-rest-helper is a secondary routing tool used to define REST API.
export interface RestObject {
key?: string,
index?: Koa.Middleware,
show?: Koa.Middleware,
create?: Koa.Middleware,
update?: Koa.Middleware,
remove?: Koa.Middleware,
edit?: Koa.Middleware,
new?: Koa.Middleware,
}
export default function (prefix: string, rest: RestObject): Router;
const Koa = require('koa');
const logger = require('koa-logger');
const Helper = require('koa-rest-helper');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();
const helper = Helper('/users', {
key: 'id',
async index(ctx, next) {
ctx.body = { text: 'index /users/' };
},
async show(ctx, next) {
ctx.body = { text: 'show GET /users/:id' };
},
async create(ctx, next) {
ctx.body = { text: 'create POST /users' };
},
async update(ctx, next) {
ctx.body = { text: 'update PUT /users/:id' };
},
async remove(ctx, next) {
ctx.body = { text: 'remove DELETE /users/:id' };
},
async edit(ctx, next) {
ctx.body = { text: 'edit GET /users/:id/edit' };
},
async new(ctx, next) {
ctx.body = { text: 'new GET /users/new' };
},
});
router
.use(helper.routes())
.get('/', ctx => {
ctx.body = 'hello';
});
app
.use(logger())
.use(router.routes())
.listen(3000, () => {
console.log('server run in 3000.');
});