安装模块
npm install koa-bodyparser
或者配置文件package.json中依赖配置如下:
{
"dependencies": {
"koa": "^2.13.1",
"koa-bodyparser": "^4.3.0",
"koa-router": "^10.0.0",
...
},
...
}
利用koa-bodyparser来处理POST请求参数,代码如下:
const Koa = require('koa');
const Router = require('koa-router');
const BodyParser = require('koa-bodyparser');
// 创建一个Koa对象表示web app本身:
const app = new Koa();
const router = new Router();
const bodyparser= new BodyParser();
// 对于任何请求,app将调用该异步函数处理请求:
app.use(async (ctx, next) => {
console.log(`Process ${ctx.request.method} ${ctx.request.url}...`);
await next();
});
// middleware的顺序很重要,这个koa-bodyparser必须在router之前被注册到app对象上
app.use(bodyparser);
router.get('/', async (ctx, next) => {
ctx.response.body = `<h1>Hello, Koa2</h1>`;
});
router.get('/hello/:name', async (ctx, next) => {
let name = ctx.params.name;
ctx.response.body = `<h1>Hello, ${name}</h1>`
});
router.post('/login', async (ctx, next) => {
if (ctx.request == null || ctx.request.body == null) {
ctx.response.body = {
code: 10001,
success: false,
message: 'Login failure, please check form-data type.'
}
return;
}
let username = ctx.request.body.username || '';
let password = ctx.request.body.password || '';
console.log(`/login with name: ${username}, password: ${password}`);
if (username === 'koa' && password === '123456') {
ctx.response.body = {
code: 20000,
success: true,
message: 'Login success.'
}
} else {
ctx.response.body = {
code: 10017,
success: false,
message: 'Login failure, please check username or password.'
}
}
});
app.use(router.routes());
// 在端口3000监听:
app.listen(3000);
console.log('app started at port 3000...');
网友评论