[TIL - 2022.8.12~2022.8.15 StatesAirline server]

Jeong Ha Seung·2022년 8월 16일
0

부트캠프

목록 보기
31/51

공부한 내용

  1. req.params vs req.body

    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에 있는 데이터를 확인하기 위해 사용한다고 보면 될 거 같다.

    req.params

    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이다.

  2. 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/

profile
블로그 이전했습니다. https://nextjs-blog-haseungdev.vercel.app/

0개의 댓글