Express - Query다루기

YU NA Joe·2022년 8월 15일

리소스란?!

서버에 있는 정보(데이터베이스에 저장된 정보, 텍스트 파일, 이미지 파일 등)를 나타내는 단어
ex) resource를 조회, 갱신, 삭제...etc

쿼리(Query)란?!

?이후의 부문, 즉 team=engineering, 을 Query 라고 한다. 
Query는 서버에 있는 데이터를 조회 할 때 기준을 정하기 위해 사용한다.
http://localhost:3000/api/members?team=engineering
http://localhost:3000/api/members?team=marketing
http://localhost:3000/api/members?team=sales

그리고 하나의 Query에는 여러개의 parameter들이 들어갈 수 있다 

http://localhost:3000/api/members?team=engineering&orderby=admissionDate&... 

특정 팀만 조회하기

const express = require("express"); 

const app = express();

const members = require("./members");

app.get("/api/members", (req, res) =>{
  //  const team = req.query.team;
  const {team} = req.query;
  if (team){
    const teamMembers = members.filter((m) => m.team === team);
    res.send(teamMembers)
  } else{
    res.send(members);
  }
});

// 특정 아이디의 개인 불러오기 
// :id는 가변적인 값으로, express에서는 Route Parameter라고 한다.

app.get("/api/members/:id", (req, res) =>{
    // route Parameter 가져오기 
    // const id = req.params.id;
    const {id} = req.params;
    // Route Parameter로 가져온 값은 string값이라서 Number로 바꿔줌
    const member = members.find((m) => m.id === Number(id));
    if (member){
        res.send(member);
    }else{
        res.status(404).send({message:"There is no such member"}); 
    }   
});


// port 번호를 3000으로 정해줌
app.listen(3000, ()=>{
    console.log("Server is listening...")
});

0개의 댓글