express에서 제공하는 request 객체에는 우리가 사용하는 body, query, params라는 속성이 존재합니다.
각각 어떤 걸 내포하는지 어떤 의미인지 알아봅시다.
req.params
라우터의 매개변수로 /:nickname/:num이라는 경로가 존재할 때 각각의 nickname과 num이라는 속성을 req.params.nickname, req.params.num으로 받아올 수 있습니다.
예시 : https://www.youtube.com/@tvNDENT
이런 주소가 존재할 때 https://www.youtube.com/:계정명으로 로 경로를 받고
req.params.계정명으로 값을 받아올 수 있습니다.
req.query
주소의 뒤에 /:prams?name=이름데이터&age=나이데이터로 작성된 데이터를 받아올 때 사용되며 req.query.name, req.query.age 형식으로 데이터를 받아올 수 있습니다. 그리고 쿼리가 여러 개 필요한 경우에는 &를 사용할 수 있습니다.
예시 : https://www.youtube.com/watch?v=SpfyKt-fEcE&t=1064s
watch? 뒤로 작성한 key와 value를 받아올 수 있습니다.
req.query.v 의 값으로 SpfyKt-fEcE , req.query.t 의 값으로 1064s를 받아오는 걸 확인할 수 있습니다.
req.body
XML이나 JSON, Multi Form들의 데이터를 담으며 주소에서는 확인할 수없습니다. 그리고 POST로 유저의 정보나 form데이터를 받고 key와 value 형태로 전송을 합니다.
아래를 보고 params와 query, body값을 알아봅시다.
await axios ({
method : 'post',
url : 'localhost:8080/계정명?company=회사데이터',
data : {
name : '이름데이터',
age : '나이데이터',
job : '직업데이터'
}
})
req.params | req.query | req.body |
계정명 | {"company" : "회사데이터"} | { 'name' : '이름데이터', 'age' : '나이데이터', 'job' : '직업데이터' } |
이렇게 주소만으로 params값과 query값을 받아올 수 있고, body에 들어있는 데이터값도 받아올 수 있습니다.
'프로그래밍📚 > node' 카테고리의 다른 글
postman 사용하기 (0) | 2023.12.11 |
---|---|
express-generator 알아보기 (0) | 2023.12.08 |
응답을 통해 정보를 전달하자 - json (0) | 2023.12.06 |
[node] 웹 서버 구동하기 - express (0) | 2023.12.06 |
Node Packaged Manager - NPM (0) | 2023.12.05 |