req.params
vs req.body
/book
으로 POST 요청을 보낸다고 가정했을 때,
{
"uuid": "af6fa55c-da65-47dd-af23-578fdba50bed",
"departure": "CJU",
"destination": "ICN",
"departure_times": "2021-12-02T12:00:00",
"arrival_times": "2021-12-03T12:00:00"
}
위처럼 body에 데이터를 담아서 보내면 req.body.uuid
, req.body.departure
... 이런식으로 확인이 가능하다.
req.body는 말 그대로 body에 있는 데이터를 확인하기 위해 사용한다고 보면 될 거 같다.
book/012-345-678/af6fa55c-da65-47dd-af23-578fdba50bed
임의 데이터로 GET 요청을 한번 보내봤다.
결과
req.params {
phone: '012-345-678',
flight_uuid: 'af6fa55c-da65-47dd-af23-578fdba50bed'
}
api 요청 시 book 다음에 오는 phone,flight_uuid가 곧 req.params이다.
res.json
vs res.send
이 두개는 사실 별반 다를 게 없다.. 여기다 코드를 일일이 적는 거보다 이해하는 게 중요하지만
간단하게 말하면 res.json
같은 경우에는 Content-type
을 적어주지 않으면 자동으로(?) application/json
으로 설정해준다고 한다.
간혹 이런 에러를 만나게 되는데 클라이언트 쪽에서 json으로 파싱을 했는데 이를 서버 쪽에서 그냥 res.send()
로 보낼 경우에는 json 형식이 아니기 때문에 위와 같은 오류가 나는것이다.
2가지 방법이 있는데 JSON.stringify
로 해주거나 res.json
을 써주면 된다.
다만 클라이언트와 서버랑 소통을 할 시 re
참고자료: https://haeguri.github.io/2018/12/30/compare-response-json-send-func/