Egg.js(二)GETとPOSTリクエスト


これを見る前に、ドキュメントを読む必要があります.https://eggjs.org/zh-cn/basics/router.html https://eggjs.org/zh-cn/basics/controller.htmlここで私がやったのは、ドキュメントの運搬業者が自分のニーズに合わせて整理しただけです.前のノードでjsシリーズブログで使われているExpressですが、今回はEggを使います.jsの後は明らかに簡潔になった.

GETリクエスト


パラメータ取得方法1:
'use strict';

const Controller = require('egg').Controller;

class HomeController extends Controller {
  async query() {
    const { ctx } = this;
    ctx.body = {
      query: ctx.query,
      id:  ctx.query.id,
      data: ctx.query.data
    }
    // http://localhost:7001/query?id=2&data=aa
    // {
    //   "query": {
    //       "id": "2",
    //       "data": "aa"
    //   },
    //   "id": "2",
    //   "data": "aa"
    // }
  }
}

module.exports = HomeController; ルート:
'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.get('/query', controller.home.query);
};


パラメータ取得方式2:
async params() {
    const { ctx } = this;
    ctx.body = {
      params: ctx.params,
      id:  ctx.params.id,
      data: ctx.params.data
    }
    // http://localhost:7001/params/2/aa
    // {
    //   "params": {
    //       "id": "2",
    //       "data": "aa"
    //   },
    //   "id": "2",
    //   "data": "aa"
    // }
  };
router.get('/params/:id/:data', controller.home.params);

POSTリクエスト

async post() {
    const { ctx } = this;
    ctx.body = {
      post: ctx.request.body,
      id:  ctx.request.body.id,
      data: ctx.request.body.data
    }
    // http://localhost:7001/post
    // {
    //   "post": {
    //       "id": "2",
    //       "data": "aa"
    //   },
    //   "id": "2",
    //   "data": "aa"
    // }
  };
router.post('/post', controller.home.post);

ここでのGETとPOSTリクエストは実は何もありませんが、主にExpressとの違いに注意してください.全体的に使うのは本当に簡単だと思います.