본문 바로가기
코딩 정보/web

NodeJs params 와 query 개념 및 api간단하게 구현 해보기

by 꽁이꽁설꽁돌 2024. 5. 6.
728x90
반응형

목차

     

     

    get을 이용한 params 방식

    const express = require("express");
    const app = express();
    const cors = require("cors");
    app.use(cors());
    const port = 3000;
    
    app.get("/user/:id", (req, res) =>{
      const q = req.params;
      console.log(q.id);
    })
    
    
    app.listen(port, ()=>{
        console.log(`listening port${port}`)
    }); //로컬 호스트 3000번을 듣고 있다

    다음과 같이 주소창을 입력

     

     

    params를 받고 콘솔에 출력 된 모습

     

     

    get을 이용한 query 방식

    const express = require("express");
    const app = express();
    const cors = require("cors");
    app.use(cors());
    const port = 3000;
    
    app.get("/user/:id", (req, res) =>{
      const q = req.query;
      console.log(q);
      console.log(q.name);
      console.log(q.age);
    })
    
    
    app.listen(port, ()=>{
        console.log(`listening port${port}`)
    }); //로컬 호스트 3000번을 듣고 있다

     

    다음과 같이 주소창 입력

     

     

    query로 받고 json 형식으로 데이터를 받은 모습

     

     

     

    if문과 params를 이용한 동물소리 api서버

    const express = require("express");
    const app = express();
    const cors = require("cors");
    app.use(cors());
    const port = 3000;
    
    app.get("/sound/:name", function (req, res) { //주소창을 이용해 입력받는 방식: get
      //요청 정보와 응답 정보
      const { name } = req.params;
      if (name == "dog") {
        res.json({ sound: "멍멍" });
      } else if (name == "cat") {
        res.json({ sound: "냐옹" });
      } else if (name == "pig") {
        res.json({ sound: "꿀꿀" });
      } else {
        res.json({ sound: "none" });
      }
    });
    
    
    app.listen(port, ()=>{
        console.log(`listening port${port}`)
    }); //로컬 호스트 3000번을 듣고 있다

     

    냐옹이 잘 나온모습

     

     

    그외 json이 나온 모습

     

     

    프론트엔드와 동물소리 api연결 해보기

    <!DOCTYPE html>
    <html>
      <head>
        <title>Welcome</title>
        <meta charset="utf-8" />
      </head>
      <body>
        <h2 id="sound"></h2>
        <input id="name" type="text" />
        <button onclick="getSound()">API 요청</button>
      </body>
      <script>
        function getSound() {
          const name = document.getElementById("name").value;
          fetch(`http://localhost:3000/sound/${name}`)
            .then((response) => response.json())
            .then((data) => {
              console.log(data.sound);
              document.getElementById("sound").innerHTML = data.sound;
            });
        }
      </script>
    </html>

     

    요청에 따라 잘 나오는 것을 볼 수 있다.

     

     

    참고

    https://www.youtube.com/watch?v=Tt_tKhhhJqY&t=2079s

     

    반응형