自定义路由

调用方式:app.mount

文件挂载

开发者可以通过调用该接口来挂载自定义的路由,挂载方式有两种:

const app = require('ibird-core');
// 方式一:单个函数
app.mount(function (router) {
    // router为koa-router实例
    router.get('/test/v1', (ctx) => {
        const query = ctx.query;
        const body = ctx.request.body;
        console.log('这是一个自定义接口');
        console.log('请求参数:', query);
        console.log('请求体:', body);
    });
    router.get('/test/v2/d1001', (ctx) => {
        const query = ctx.query;
        const body = ctx.request.body;
        console.log('这是第二个自定义接口');
        console.log('请求参数:', query);
        console.log('请求体:', body);
    });
});

// 方式二:函数数组
app.mount([
    function (router) {
        router.get('/test/v1', (ctx) => {
            const query = ctx.query;
            const body = ctx.request.body;
            console.log('这是一个自定义接口');
            console.log('请求参数:', query);
            console.log('请求体:', body);
        });
        router.post('/test/v2/d1001', (ctx) => {
            const query = ctx.query;
            const body = ctx.request.body;
            console.log('这是第二个自定义接口');
            console.log('请求参数:', query);
            console.log('请求体:', body);
        });
    },
    function (router) {
        router.get('/test/v3/h3', (ctx) => {
            const query = ctx.query;
            const body = ctx.request.body;
            console.log('这是另一个函数里定义的接口');
            console.log('请求参数:', query);
            console.log('请求体:', body);
        });
    }
]);

文件夹挂载

可以指定一个存放所有路由的文件夹,ibird在启动的时候会递归该文件夹并挂载所有.js后缀且模块导出为函数的文件。

// 挂载自定义路由
app.mountDir(path.resolve(__dirname, 'src/route'));

results matching ""

    No results matching ""