首页 > Windows开发 > 详细

koa2 get post api restful前端联调

时间:2019-09-13 17:06:49      阅读:70      评论:0      收藏:0      [点我收藏+]

1、git

https://github.com/MengFangui/koa2-restful-api

2、示例代码

//引入 Koa 服务器
const koa = require(‘koa‘);

const app = new koa();
// 路由配置
const router = require(‘koa-router‘)();

// 解决post方法获取参数问题
const bodyParser = require(‘koa-bodyparser‘);

// 配置中间件
app.use(bodyParser());
// 解决跨域问题
app.use(async (ctx, next) => {
    ctx.set(‘Access-Control-Allow-Origin‘, ‘*‘);
    ctx.set(‘Access-Control-Allow-Headers‘, ‘*‘);
    ctx.set(‘Access-Control-Allow-Methods‘, ‘PUT, POST, GET, DELETE, OPTIONS‘);
    ctx.set(‘Cache-Control‘, ‘no-cache‘);
    await next();
})
// router.routes作用:启动路由
// allowedMethods作用:当所有路由中间件执行完成之后,若ctx.status为空或者404的时候,丰富response对象的header头.
app.use(router.routes()).use(router.allowedMethods())

// get请求示例
router.get(‘/test‘, async (ctx) => {
    // 获取请求
    // console.log(ctx.request); 

    // 获取的是请求参数   
    // console.log(ctx.query);  //{ aid: ‘123‘ }  用的最多的方式  推荐
    // console.log(ctx.request.query); // 也可以
    // console.log(ctx.querystring);  //aid=123&name=zhangsan // 获取的是一个字符串 
    // 获取url地址
    // console.log(ctx.url);    // 可以
    // console.log(ctx.request.url);  //可以

    // 响应体
    ctx.body = {
        code: 200,
        status: 1,
        message: ‘success‘,
        data: ctx.query
    };
});
//动态路由:在路由里面加入:   /:参数
// http://localhost:3000/test-dynamic-routing/888
router.get(‘/test-dynamic-routing/:aid‘, async (ctx, next) => {
    // 获取动态路由参数 
    console.log(ctx.params) // {aid:888}
    ctx.body = {
        code: 200,
        status: 1,
        message: ‘success‘,
        data: ctx.params
    };
})

router.post(‘/testPost‘, async (ctx) => {
    // 请求参数
    let data = ctx.request.body
    ctx.body = {
        code: 200,
        status: 1,
        message: ‘success‘,
        data
    };
});

//监听端口
app.listen(3000, function () {
    console.log(‘start in 3000 port ...‘)
});

 

koa2 get post api restful前端联调

原文:https://www.cnblogs.com/mengfangui/p/11516864.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!