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請求參數(shù),代碼如下:

const Koa = require('koa');
const Router = require('koa-router');
const BodyParser = require('koa-bodyparser');

// 創(chuàng)建一個(gè)Koa對象表示web app本身:
const app = new Koa();
const router = new Router();
const bodyparser= new BodyParser();

// 對于任何請求,app將調(diào)用該異步函數(shù)處理請求:
app.use(async (ctx, next) => {
  console.log(`Process ${ctx.request.method} ${ctx.request.url}...`);
  await next();
});

// middleware的順序很重要,這個(gè)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監(jiān)聽:
app.listen(3000);
console.log('app started at port 3000...');
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Koa的安裝和搭建: 1.1 項(xiàng)目初始化: npm init會(huì)生成配置文件package.json,用于管理...
    joyitsai閱讀 2,397評論 0 8
  • 1.初始化node.js模塊,創(chuàng)建package.json配置文件 npm init -y 2.下載koa2依賴 ...
    有李說布清呀閱讀 2,733評論 0 0
  • Koa 腳手架 koa-generator 是用于生成 Koa 項(xiàng)目骨架的生成器,雖然比較精簡,但它的結(jié)構(gòu)十分清晰...
    yyscc閱讀 5,285評論 0 4
  • 1. Koa 入門 1.1 創(chuàng)建 Koa2工程 首先,我們創(chuàng)建一個(gè)目錄hello-koa并作為工程目錄用 VS C...
    ArrayBuffer閱讀 1,603評論 0 2
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)、焦點(diǎn)、注意力、語言聯(lián)想、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會(huì)...
    Jenaral閱讀 5,952評論 0 5

友情鏈接更多精彩內(nèi)容