2.0.2 • Published 6 years ago

koa-rest-helper v2.0.2

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

Koa-rest-helper

Koa-rest-helper is a secondary routing tool used to define REST API.

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;

install

npm install --save koa-router
npm install --save koa-rest-helper
MethodPathRoute Function
GET/usersindex
GET/users/:idshow
POST/userscreate
PUT/users/:idupdate
DELETE/users/:idremove
GET/users/:id/editedit
GET/users/newnew

use

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', // <- :id
    // GET /users
    async index(ctx, next) {
        ctx.body = { text: 'index /users/' };
    },
    // GET /users/:id
    async show(ctx, next) {
        ctx.body = { text: 'show GET /users/:id' };
    },
    // POST /users
    async create(ctx, next) {
        ctx.body = { text: 'create POST /users' };
    },
    // PUT /users/:id
    async update(ctx, next) {
        ctx.body = { text: 'update PUT /users/:id' };
    },
    // DELETE /users/:id
    async remove(ctx, next) {
        ctx.body = { text: 'remove DELETE /users/:id' };
    },

    // GET /users/:id/edit
    async edit(ctx, next) {
        ctx.body = { text: 'edit GET /users/:id/edit' };
    },
    // GET /users/new
    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.');
    });
2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago