웹 개발에서 사용하는 대표적인 클라이언트는 브라우저이다.
브라우저는 서버에 HTTP 요청을 보낼 수 있는 훌륭한 도구이지만, 주로 웹 페이지를 받아오는 GET 요청에 사용한다.
브라우저의 주소창에 URL을 입력하면, 해당 URL의 root-endpoint로 GET 요청을 보낸다.
테스트를 위해 GET 요청이 아닌 다른 요청을 보내려면, 개발자 도구의 콘솔 창에서 Web API fetch를 사용해야 한다.
매번 코드를 작성할 수는 있다.
그러나 위 사진과 같이 테스트를 위해 매번 코드를 작성하는 것은 상당히 번거롭다.
물론 우리에겐 HTTP 요청을 테스트할 수 있는 다양한 API 테스트 도구들이 있다.
오늘은 그 API 테스트 도구 중 하나인 Postman에 대해 다뤄보겠다.
그럼 다음과 같이 확인할 수 있다.
요청 양식 사진을 보면 추가적인 파라미터를 사용할 수 있다고 되어있다.
이를 이용하여 roomname이 lobby인 json만 가져와보겠다.
params key 값에 roomname, value 값에 lobby가 들어간 것을 볼 수 있다.
POST 요청은 GET 요청과 다르게 본문(body)을 포함하는 경우가 많다.
본문을 설정하는 방법은, 위 그림에서 (5)번 - HTTP 요청 설정 화면에서 본문(body)을 입력하면 된다.
Content-Type: application/json
[헤더] HTTP 요청 헤더에 전송할 데이터 타입을 입력한다.
위 양식을 지켜서 body에 username, text, roomname를 넣어주고, post 해봤다.
응답으로 id=11 번을 받았고, 이는 정상적으로 전달되었음을 나타낸다.
다시 get으로 가서 확인해봤다.
다음과 같이 정상적으로 데이터가 전송된 것을 확인할 수 있었다.
이번 서버에서는 풋과 패치를 진행하지 않는다고 했다.
따라서 의문점이 생긴 것에 대해서 쌤이 답을 해주었다.
💡 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만 남아서 덮어씌워진다.
https://api.github.com/users/{your_id}