모종닷컴

Postman 꿀팁 방출 본문

Programming

Postman 꿀팁 방출

모종 2022. 8. 7. 03:04
반응형

이번 글에서는 제가 Postman에서 자주 사용하는 꿀팁 아닌 꿀팁을 공유드리고자 합니다. 일단 예시 상황을 먼저 보도록 하겠습니다.

일련의 과정들을 호출

이런 예시 상황을 들어보도록 할게요. 멤버를 등록하는 API를 호출 후, 해당 멤버의 이름을 업데이트하는 api를 호출 이어서 멤버를 삭제하는 api를 호출하는 프로세스가 필요하다고 합시다.

일단 포스트맨에 컬렉션 하나를 추가하고 컬렉션에 3개의 Request를 추가합니다. 아래에서 3개 API 스펙을 설명하도록 하겠습니다. 다만 블로그 글을 위해 엉망진창으로 만든 API라서 불편하더라도 그냥 봐주시면 감사하겠습니다ㅎㅎ...

멤버 등록

생성 Request

이름만 받으면 멤버 등록이 완료됩니다. 응답 메시지로는 생성된 멤버의 id를 그냥 리턴하도록 했어요

멤버 이름 수정

수정 Request

uri에 업데이트하려는 멤버의 id가 들어가야 합니다. 위에서 멤버 등록했을 때 받은 id = 2가 uri에 들어가면 됩니다.

멤버 삭제

멤버를 삭제할 때에는 위의 바뀐 이름을 통해 삭제하도록 하겠습니다. 멤버의 이름을 위에서 money로 바꿨으니 uri에 money 이름을 넣어줍니다.

위 과정을 다시하라고 한다면?

위의 과정을 다시해야 된다고 가정해봅시다. 아래와 같이 몇 가지 불편한 부분들이 있습니다.

  • [등록 API를 호출 -> 수정 API에 id 세팅 -> 삭제 API에 name 세팅] 이 과정을 다시 개발자의 손으로..
  • 현재 url을 보면 localhost 기준입니다. 이걸 운영환경이나 개발환경에 던져야 한다면 url을 수정해주어야 합니다.

그러면 이제부터 이 부분들을 하나씩 해결해보도록 하겠습니다.

Postman의 Environment 이용해서 개선

포스트맨에는 Environment 를 설정할 수 있습니다. 제 버전 기준 환경을 설정하는 부분은 우측 상단에 있습니다.

위의 눈 모양의 버튼을 클릭하면 아래와 같이 화면이 보일 텐데 여기서 Environment의 Add를 클릭해줍니다.

그러고 나서 아래의 화면과 같이 Local, Development를 추가해줍니다.

로컬 환경
개발 환경

추가가 완료되었으면 3개의 Request의 URL의 host 부분을 아래와 같이 수정해주세요.

{{member_host}}/api/member

그리고 우측 상단 Environment를 Local로 설정해주세요.

이제 저희가 수정했던 url의 member_host 위에 마우스를 올리면 아래와 같은 표시가 되어 있을 겁니다.

이번에는 환경을 Development로 바꾸고 똑같이 시도해보시면 값이 달라져있음을 볼 수 있습니다.

이렇게 포스트맨의 Environment를 이용해서 환경이 변경될 때마다 url을 수정해야 했던 불편함을 해결할 수 있었습니다.

 

Postman Variable 이용해서 개선

포스트맨의 변수는 다양하지만 이번 글에서는 Collection 변수(= 컬렉션 내에서만 공유가 되는 변수)를 이용하겠습니다. 좀 더 상세한 내용을 알고 싶다면 이 링크를 들어가서 보시면 됩니다.

등록 API 에 스크립트 추가하기

먼저 등록 API Request를 열고 Tests 탭을 들어가서 아래 사진과 같이 수정합시다.

간단하게 설명하면 요청 후 받은 응답을 log로 한번 찍고 postman 컬렉션 memberId라는 변수에 해당 값을 세팅하는 스크립트입니다. 다시 등록 API를 호출해보시죠.

컬렉션 변수 보기

컬렉션 변수를 보기 위해서는 아래 사진처럼 컬렉션 위의 ◦◦◦버튼을 클릭 후 Edit을 눌러줍니다.

그다음 Variables 탭을 들어가면 아래와 같이 우리가 스크립트에 적은 memberId라는 변수가 생겼고 값이 들어가 있는 모습을 볼 수 있습니다.

수정 API에 스크립트 추가 및 memberId 변수 사용하기

수정 API Request를 열고 url를 아래처럼 수정해서 위에서 세팅한 memberId 변수를 사용하도록 합시다.

{{member_host}}/api/member/{{memberId}}

그리고 이번에는 Pre-request Scripts 탭에 들어가서 아래처럼 스크립트를 추가해주세요. Tests는 응답에 대한 스크립트, Pre-request Script은 요청 전 스크립트라고 봐주시면 될 것 같습니다. 수정 API를 실행해주세요.

이제 다시 컬렉션 변수를 보면 memberName에 저희가 변경하려는 이름이 들어가 있음을 볼 수 있습니다.

삭제 API에 memberName 변수 사용하기

삭제 API 를 열고 url을 아래처럼 수정하고 삭제 API를 실행해주세요. 

{{member_host}}/api/member/{{memberName}}

개선된 점

위에 처럼 variable 을 이용해서 개발자가 그동안 수동으로 넣었던 부분들을 개선할 수 있었습니다. 개선 이전에는 요청 후 응답이나 요청 바디의 특정 부분을 복사해서 다음 요청 API에 세팅해줘야 하는 작업이 필요했지만, 이제는 각 요청을 열고 실행만 해주기만 하면 되죠

 

3개의 요청을 한 번에 실행하기

위에서 Environment와 Variable을 이용해서 몇 가지 부분들을 개선해봤습니다. 마지막으로 이렇게 설정된 API를 한 번에 실행시키는 방법을 알아보고자 합니다. 컬렉션을 선택하고 아래 노란색 동그라미 친 부분을 클릭해주면 우측과 같이 화면이 하나 보이게 됩니다. 

상단 사진에 보이는 화면의 Run을 클릭해주세요. 그러면 다음과 같이 Collection Runner라는 창이 하나 뜹니다. 이 Collection Runner는 좌측에 보이는 설정들을 이용해서 우측에 선택된 API들을 순차적으로 실행시키는 기능입니다. 

저는 좌측의 Delay를 1초(=1000ms) 설정하고 3가지 API를 모두 실행시켜보도록 하겠습니다. 모두 정상적으로 동작하는 것 같네요.

 

결론

누군가에게는 필요없는 기능 및 팁일 수도 있지만 저는 은근히 사용하는 일들이 많아서 그런지 유용하더라고요. 제가 제시한 예시 상황에만 갇혀서 생각하지 말고 어떻게 하면 이런 부분들을 잘 활용할 수 있을지 고민해보셔도 좋을 것 같습니다. 긴 글 읽어주셔서 감사합니다. 

반응형