Koa | 2. koa-bodyparser的使用

安装模块

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...');
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Koa的安装和搭建: 1.1 项目初始化: npm init会生成配置文件package.json,用于管理...
    joyitsai阅读 2,309评论 0 8
  • 1.初始化node.js模块,创建package.json配置文件 npm init -y 2.下载koa2依赖 ...
    有李说布清呀阅读 2,622评论 0 0
  • Koa 脚手架 koa-generator 是用于生成 Koa 项目骨架的生成器,虽然比较精简,但它的结构十分清晰...
    yyscc阅读 5,084评论 0 4
  • 1. Koa 入门 1.1 创建 Koa2工程 首先,我们创建一个目录hello-koa并作为工程目录用 VS C...
    ArrayBuffer阅读 1,466评论 0 2
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 5,746评论 0 5