router.post("/set", async (ctx) => { log.print('got: ', ctx.request.body); // 此处解析到传递的json var res = new Object(); res['ret'] = 0; ctx.body = res; // 返回的是json,正常 });
function main() { var app = new Koa(); app.use(koa_bodyparser({ enableTypes:["json","test","form"], onerror:function (err,ctx){ log.print("api service body parse error",err); ctx.throw(400,"body parse error"); }, }));
app.use(router.routes()); app.listen(g_port); console.log('Running a koa server at localhost: ', g_port)
}
main();
代码非常简单,利用 koa 提供的接口能快速搭建一个 web 服务器,注意,示例代码在初始化时指定了传输数据为 json 格式。
2、测试
首先执行node koa_test.js.js运行服务器,成功后,监听4000端口。提示:
1 2
$ node koa_test.js Running a koa server at localhost: 4000
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 16 100 16 0 0 16000 0 --:--:-- --:--:-- --:--:-- 16000 welcome to koa
使用curl发送post请求:
1
curl http://127.0.0.1:4000/set -X POST -H "Content-Type:application/json" -d '{"cmd":"set","content":"foobar"}'
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 41 100 9 100 32 145 516 --:--:-- --:--:-- --:--:-- 661{"ret":0}