Unit8 - [HTTP/네트워크] 실습 - 2

강성일·2023년 5월 26일
0
post-thumbnail

✅ TIL


웹 개발에서 사용하는 대표적인 클라이언트는 브라우저이다.

브라우저는 서버에 HTTP 요청을 보낼 수 있는 훌륭한 도구이지만, 주로 웹 페이지를 받아오는 GET 요청에 사용한다.
브라우저의 주소창에 URL을 입력하면, 해당 URL의 root-endpoint로 GET 요청을 보낸다.

테스트를 위해 GET 요청이 아닌 다른 요청을 보내려면, 개발자 도구의 콘솔 창에서 Web API fetch를 사용해야 한다.

매번 코드를 작성할 수는 있다.

그러나 위 사진과 같이 테스트를 위해 매번 코드를 작성하는 것은 상당히 번거롭다.
물론 우리에겐 HTTP 요청을 테스트할 수 있는 다양한 API 테스트 도구들이 있다.

오늘은 그 API 테스트 도구 중 하나인 Postman에 대해 다뤄보겠다.



Postman


Postman 시작하기


Postman 사용하기


⚙️ GET 요청하기

  1. Get 요청이므로, HTTP 메서드를 Get으로 설정해준다.
  2. kimcoding이 작성한 모든 메시지를 조회하므로, URL 입력 창에
    http://ec2-43-201-33-50.ap-northeast-2.compute.amazonaws.com/kimcoding/messages
    처럼 입력해준다.
  3. Get은 추가적인 파라미터나, 요청 본문(body)가 필수는 아니므로 바로 Send를 누른다.
  4. 응답 화면인 번호 6번 창에 뜬 결과를 json으로 바꿔 확인한다.


그럼 다음과 같이 확인할 수 있다.

요청 양식 사진을 보면 추가적인 파라미터를 사용할 수 있다고 되어있다.
이를 이용하여 roomname이 lobby인 json만 가져와보겠다.

params key 값에 roomname, value 값에 lobby가 들어간 것을 볼 수 있다.


⚙️ POST 요청하기


POST 요청은 GET 요청과 다르게 본문(body)을 포함하는 경우가 많다.

본문을 설정하는 방법은, 위 그림에서 (5)번 - HTTP 요청 설정 화면에서 본문(body)을 입력하면 된다.

  1. 본문의 형식 선택 (1)
  • JSON 형식으로 보낼 때에는, raw를 선택한다.
  1. 본문의 형식 선택 (2)
  • 보낼 형식에 맞게 정확한 타입을 선택한다.
    • JSON 형식으로 보낼 때에는, JSON을 선택한다.
    • 앞서 1번 및 2번 과정은 HTTP 요청 헤더에 다음과 같이 작성하는 것과 동일한다.
      Content-Type: application/json
      [헤더] HTTP 요청 헤더에 전송할 데이터 타입을 입력한다.
  1. 본문 내용
  • 본문을 입력한다. 앞서 JSON을 선택했으므로, 유효한 JSON을 적어주어야 한다.
    • API 문서에 따르면 username, text, roomname을 형식에 맞게 적어주어야 한다.

위 양식을 지켜서 body에 username, text, roomname를 넣어주고, post 해봤다.

응답으로 id=11 번을 받았고, 이는 정상적으로 전달되었음을 나타낸다.

다시 get으로 가서 확인해봤다.

다음과 같이 정상적으로 데이터가 전송된 것을 확인할 수 있었다.


💡 QnA


이번 서버에서는 풋과 패치를 진행하지 않는다고 했다.

따라서 의문점이 생긴 것에 대해서 쌤이 답을 해주었다.

💡 PUT은 ?

➡️ body에 필수 parameter들을 원하는 값들로 새로 변경하고 싶을 때 사용 - 전체적으로 교체
➡️ Ex) 위에 작성한 id가 11번인 body 내용을 아래와 같이 바꾸고 싶을 때

	{
        "username": "Codestates",
        "text": "저는 마라샹궈",
        "roomname": "lobby"
    }

💡 PATCH는 ?

➡️ body에 일부 parameter의 값만 변경을 원할 때 사용 - 일부 수정
➡️ Ex) 위에 작성한 id가 11번인 body 내용 중, roomname만 바꾸고 싶을 때

	{
        "roomname": "in my body"
    }

💡 PUT을 PATCH처럼 쓰면 ?

➡️ body에 쓴 내용으로 json 전체 데이터가 덮어씌워 진다.
➡️ Ex) 위 사진과 같은 상태라고 쳤을 때
text만 Put으로 전달하면, username과 roomname이 날라가고 text만 남아서 덮어씌워진다.



Gibhub API로 내 정보 가져오기


https://api.github.com/users/{your_id}
profile
아이디어가 넘치는 프론트엔드를 꿈꿉니다 🔥

0개의 댓글