• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

soraping/koa-decorators-router: koa-router的封装

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

soraping/koa-decorators-router

开源软件地址:

https://github.com/soraping/koa-decorators-router

开源编程语言:

TypeScript 99.7%

开源软件介绍:

koa-decorators-router(koa-router封装)

安装

npm install --save koa-decorators-router

or

yarn add koa-decorators-router

使用

入口文件 app.js

import * as Koa from 'koa'
import {Route} from 'koa-decorators-router';
const app = new Koa()
const router = new Route(app, apiPath);
//注册路由
router.registerRouters();
app.listen('3000');

api

import * as Koa from 'koa';
import {controller, get, log, required, convert} from 'koa-decorators-router';
// api path
@controller('/user')
class UserController{

    aysnc middleware(ctx, next) => {
        ctx.body = 'i am middleware';
    }

    // 访问路径就是/user/findOne/zhangsan?age=40
    @get('/findOne/:username')
    //Url必传参数
    @required({
        params: 'username',
        query: 'age'
    })
    //自定义中间件,在接口执行前执行
    @convert(middleware)
    //请求日志
    @log()
    async getUserOne (ctx: Koa.Context): Promise<void> {
        let data = {
            username: ctx.params.username,
            age: ctx.query.age
        }
        ctx.body = data;
    }

    @post('list')
    // post 请求参数需要校验参数类型
    // post 只挂在body下
    @required({
        body: {
            q: 'string',
            pageNum: 'number'
        }
    })
    async getList ():Promise<void>{

    }

    @put('upd/:id')
    @required({
        params : 'id'
    })
    async updGoods() : Promise<void> {

    }

    @del('del/:id')
    @required({
        params : 'id'
    })
    async delGoods () : Promise<void> {

    }

}

访问: http://localhost:3000/user/findOne/zhangsan?age=40

浏览器会显示:

{
    "username": "zhangsan",
    "age": 40
}

案例

https://github.com/soraping/koa-ts




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
binyellow/TS-TodoList-Koa: todolist with TS Koa MongoDB Webpack发布时间:2022-07-10
下一篇:
chentsulin/generator-koa2: Scaffold out a koa2 app发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap