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

lichangwei/koa-router-decorators

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

开源软件名称:

lichangwei/koa-router-decorators

开源软件地址:

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

开源编程语言:

TypeScript 95.9%

开源软件介绍:

koa-router-decors

简化koa-router路由书写方法。

使用方法

1. 书写路由文件user.ts;

import { get, put, post, del, patch } from 'koa-router-decors';
class User {
    @get('/user')
    async get(ctx) {
        ctx.body = {
            user: {},
        };
    }
}

2. 加载路由文件

import * as Koa from 'koa';
import { load } from 'koa-router-decors';

const app = new Koa();
app.use(load('/api', 'router_path').routes());
app.listen(9100);

3. 特殊用法

3.1 特殊的路由写法

// 给User类上所有路由添加中间件
@middlewares([setResponseTime])
class User {
    // 一个方法可以生成多个路由;针对特定路由,可以修改前缀,也可以添加中间件
    @get('/method')
    @get('/method', { prefix: '', middlewares: [] })
    async get(ctx: Koa.Context) {
        ctx.body = {
            method: ctx.method,
        };
    }
}

async function setResponseTime(ctx, next) {
    let date = new Date();
    await next();
    ctx.set('X-Response-Time', String(new Date().getTime() - date.getTime()));
}

3.1 特殊的路由加载

const app = new Koa();
// 可以多次调用`load`分别加载不同的目录
app.use(load('/api', `${__dirname}/router/api`).routes());
app.use(load('/web', `${__dirname}/router/web`).routes());
export default app.listen(9100);



鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
utybo/Koa: 发布时间:2022-07-09
下一篇:
Lemonreds/koa-album: 基于Koa2的web相册应用发布时间:2022-07-09
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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