POSTMAN이란?
- API 개발을 보다 빠르고 쉽게 구현 할 수 있도록 도와 줌.
- 개발된 API를 테스트하여 문서화 또는 공유 할 수 있도록 해주는 플랫폼
- RestAPI 를 쉽게 사용할 수 있게 도와주는 도구
- API 전송 테스트뿐 아니라 스펙관리부터 검수 등 API 개발 운영 전반에 필요한 다양한 기능들을 UI로 쉽게 편리하게 사용 할 수 있음
WHY? POSTMAN?
- URL을 통해 테스트는 한계가 있음.
- 실제 개발 경우, 응답 요청과 응답 받아 화면에 출력하는 등의 작업이 길어짐.
- Authorization이나 Header, Body 를 수정하는건 더더욱 제한이 많음.
계정을 보유하고 있다면, 내가 요청한 Request 히스토리, 테스트한 환경 그대로 저장되어 언제 어디서나 내가 작업했던 환경이 구축됨.


네이버 API 연동

- Naver API Test 폴더 안에 Request 를 만드는 과정. 여러 목적의 API 테스트해 볼 수 있음.

curl "https://openapi.naver.com/v1/search/news.xml?query=%EC%A3%BC%EC%8B%9D&display=10&start=1&sort=sim" \
-H "X-Naver-Client-Id: {애플리케이션 등록 시 발급받은 클라이언트 아이디 값}" \
-H "X-Naver-Client-Secret: {애플리케이션 등록 시 발급받은 클라이언트 시크릿 값}" -v



네이버 API 연동을 POSTMAN으로 테스트하기 위해서는 인증방식에 따른 인증 토큰을 Authorization에 담아 요청을 보내야함.
Postman 주요기능
HTTP 메서드 선택
- GET 메서드를 포함하여, POST/PUT/DELETE 등 다양한 HTTP 요청 메서드를 선택하여 API 요청 전송 가능

API 전송
- HTTP 메서드 선택 후, URL, Params, Authorization, Request, Header 등 필요한 데이터를 입력하고 Send

Request URL : Http 메서드를 선택하고 API를 전송할 URL 입력
Params : 파라미터 정보를 Key / Value 형태로 입력해도 되고, URL에 ?key=value&key=value 형태로 입력 가능
Authorization : Bearer Token, OAuth 등 다양한 인증에 필요한 키 혹은 토큰 데이터 입력
Headers : Request Header 를 Key / Value 형태로 입력 가능
Request Body
- Post 요청 등 Request Body 가 필요한 경우는 아래와 같이 Body 탭에 데이터 작성 가능. from-data, GraphQL 등의 형태로 입력이 가능하고, raw를 선택하여 JSON/XML/HTML 등의 형태로 입력 가능
- 아래의 예시 는 Naver 오픈 API인 쇼핑 키워드 API에 POST 요청을 날려서 응답 값을 받은 결과

Cookie
-Send 버튼 하단에 Cookies 버튼을 클릭하여 도메인 별로 쿠키 설정도 가능

Environment
- Dev/Local/Stg 등 미리 Profile 환경에 맞게 여러 URL 중 공통으로 쓰이거나 자주 사용되는 부분을 미리 변수처럼 저장해 놓고 환경을 바꿔가며 간편하게 호출하여 사용할 수 있음.
- 아래와 같이 동일한 이름으로 각 환경마다 변수를 생성해 주는데, Value에다 공통으로 사용될 URL 주소 부분을 작성한다.

- 그러면 아래와 같이 Request URL 입력 부분에서 {{변수이름}} + 나머지주소를 입력하고, 우측 상단에 환경을 선택하는 부분에서 환경만 변경만 해주면, 미리 저장한 각기 다른 환경의 주소로 변경을 하면서 API 호출 가능

Collection
- 여러 요청들을 그룹화해서 저장하고 관리를 할 수 있는데, 그 기능이 Collection이다. API 요청하는 화면에서 상단의 Save 버튼을 통해 Collection으로 해당 요청을 저장해서 관리할 수 있다.
- 이렇게 여러 요청들을 그룹화한 Collection으로 시나리오를 만들어서 순서대로 요청 가능. 좌측 Collections 탭에서 해당 Collection의 더보기(...) 버튼을 클릭하여 Run 메뉴 실행. 그렇게 여러 API 요청들을 반복(Iteration) 및 지연(Delay) 설정을 주어 순차적으로 API 호출을 하고 응답을 확인하며 테스트할 수 있음.

History
- 그 동안 요청을 하였고 요청을 확인하고, 검색하여 다시 요청을 할 수 있다. 이렇게 다양한 방법을 통해서 요청 시마다 하나하나 Parameter 나 Body를 작성할 필요 없이 재사용
그 외
- API의 스펙 Document를 작성하고 관리하는 APIs 탭
- Collection들을 스케줄을 줘서 주기적으로 호출을 하고 결과를 이메일로 받는 Monitors 탭
- 가상의 Mock 서버를 생성하고 테스트를 할 수 있는 Mock Servers 탭
- 테스트 시나리오를 아주 상세하게 커스터마이징해서 Flow 차트 형태로 생성할 수 있는 Flows 탭