[iOS] Network 뽀개기 2편 POSTMAN 활용법

Red·2022년 11월 17일
0

iOS

목록 보기
9/9
post-thumbnail

POST MAN 이란?


저번 포스팅에서 보면 터미널에서 curl 명령어를 활용해서 통신을 했다.

그런데 이게 아무래도 여러모로 불편하니 GUI 를 활용하면 좋다.
마치 터미널에서 git 을 쓸수 있지만 sourceTree 를 쓰면 편한 것 처럼
postman 도 그런 아이다.

POST MAN 사용하기

postman 사이트
사이트에 접속해도 되고, 다운로드를 해도 된다.

로그인으로 하고
Workspace -> myWorkSpace 에 들어간다.

이런식으로 화면이 구성되어져 있다.

정보를 받아와 보자.

OPEN API 들이 많은데 그중에서 애플에서 제공하고 있는 iTunes Search API 를 써보도록 하겠다.

iTunesAPI

Open API를 쓸 때, 그 API 에서 제공하는 문서가 있을 것이다. 그걸 잘 읽고 적용하면 된다.

공식문서에 예제에 이런식의 URL을 사용하라고 나와있다.
저것을 POST MAN 에 그대로 적용해보자.

uri 를 입력하니 자동으로 url과 query 를 인식해서 params 에 query 를 넣어주고

Header에도 값을 넣은 적이 없는데 값이 잘 들어와 있다.



(쿼리가 뭔지 모르면 검색해 보자.)

send 버튼을 눌러서 요청을 보내니 이런 response를 보내주었다.

Status 도 200 으로 성공이고 Body에 json 데이터가 들어 있다.

header 에도 보니 다양한 값이 들어 있는 것을 확인 할 수 있다.

이런식으로 사용하면 되는 것인다.

GET 말고 POST 나 DELETE 도 실험해 보고 싶지만
iTunes Search API 가 지원해 주지 않아서...

MOCK API

Mock API 를 이용하겠다.

https://mockapi.io

라는 서비스를 통해서 직접 통신을 만들어 보았다.
(유로 서비스지만 하나는 무료로 만들 수 있게 해주는 것 같다.)

전화번호부를 만든다고 생각해서 이런식의 모델을 생성했다.

그리고 정보가 하나만 들어 있도록 설정했다.

edit 을 눌러서 설명을 보면...

user list 를 가져오고 싶으면,

url/user 

하나의 user 정보를 가져 오고 싶으면

url/user/id 

이런식으로 설명이 붙어 있다.

이렇게 요청을 만들어서 여기에서 실험을 해볼 수 있다.

GET

POST

http method 부분을 POST 로 변경해 주고,
명세서에 path 에 /user 을 넣으라고 했으니 넣어주고,

올릴 데이터를 body에 넣어줘야 한다.
단일 데이터이니 raw를 선택해주고 타입을 json 으로 해준다.

(id 는 자동으로 생성되는 것 같아 빼주었다.)

업로드할 연락처 정보를 넣어주었다.

Header 에 가보니 자동으로 Content-Type 을 application/json 으로 지정해 주었다!

만약 json 데이터가 아니라 다른 데이터를 보낸다면 다른 타입으로 해주어야 한다.

request 를 보내니 성공해서 response 가 도착했다.


다시 모든 유저 정보를 가져오는 GET 을 하니 red 가 추가된 것을 볼 수 있다.

PUT

이제 유저 정보를 수정해보자.
명세서에 보니 PATCH 일부분 수정 이 존재하지 않고 PUT 만 존재하는 것 같다.

/user/:id 를 이용하면 된다고 한다.


red 의 id 가 2인 것을 확인하고 path 에 2 를 넣어주고
send 를 보냈다. response 가 잘 도착했다.


다시 정보를 가져와 보니, red 가 blue 로 잘 수정된 것을 볼 수 있다.

Delete


마지막으로 삭제도 id 값을 넣어서 해주니 잘 작동한다.

바로 코드로 통신을 하기 전에 어떤 방식으로 통신이 일어나는지 확인할 때 postman 을 쓰니 완전 편하고 좋았다.

나 같은 경우에는 네트워크 통신에 대해서 아예 무지해서 코드로 통신을 배우기 전에 GUI 이렇게 통신이 되고 이런 방식의 request data 를 넘기고 이런 방식의 response 가 내려오는 구나 를 체감 할 수 있어서 좋았던 것 같다.

0개의 댓글