🦁_21.12.30 TIL

11312 ワード

21年12月30日


📝 Code Lion-まず作ったNodejs


📃 Chapter 5 Expressによる開発効率の向上(2)


📎 Routing


Routing

  • お客様の要求に従って処理
  • routing起点app.jsファイル
  • // app.js
    var indexRouter = require("./routes/index");
    app.use("/", indexRouter);
    // '/'로 요청을 보냈을 때, 라우팅을 통해서 indexRouter로 요청을 넘기겠다는 의미
    // index.js
    var express = require("express");
    var router = express.Router();
    
    module.exports = routervar express = require("express");
    var router = express.Router();
    
    // 라우팅의 시작은 router
    // .get, .post, .put, .delete 등 http method를 활용해서
    // 1차적으로 method에 관한 요청을 처리할 수 있다.
    router.get("/", (req, res) => {
      res.json({
        message: "성공~",
      });
    });
    
    module.exports = router;
    var express = require("express");
    var router = express.Router();
    
    router.get("/main", (req, res) => {
      res.json({
        message: "메인도 성공~",
      });
    });
    
    module.exports = router;
  • HTTPメソッドPOSTを選択し、「Send」をクリックします.
    =>Not Foundをチェック
  • urlにアクセスすると、コールバック関数requestresponseが表示されます.
  • request:要求されたオブジェクト.クライアントからサーバにデータを転送して受信
  • response:応答の対象
  • var express = require("express");
    var router = express.Router();
    
    router.post("/main", (req, res) => {
      console.log(req.body);
    });
    
    module.exports = router;
  • requestオブジェクトのbodyにデータが含まれています.
    =>サーバ側からデータを取り出し、使用のために変数または定数内で初期化します
  • { data: 'data1' }
  • クラシックコード
  • var express = require("express");
    var router = express.Router();
    
    router.post("/main", (req, res) => {
      const data = req.body.data;
      
      // send
      res.send("문자열이 응답됩니다!");
      // json
      res.json({
        message: "json 응답",
      });
      // render
      res.render("index");
      
    });
    
    module.exports = router;
    13日です.
  • send:応答文字列
  • json:応答jsonオブジェクト
  • render:ビューファイルをレンダリングし、HTMLコードを含むテンプレートファイルを直接表示できます.
    =>.ejs拡張子を使用しないで作成
    =>ブラウザにHTMLコードを表示する方法
    =>postmanではHTMLコードとして表示されますが、Previewでは下の図のように「MyfirstProject」と表示されます.