낙서장이자 오답 노트이자 컨닝 페이퍼

패스트캠퍼스 환급챌린지 34일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기 본문

NestJS

패스트캠퍼스 환급챌린지 34일차 : 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지 강의 후기

NangIn 2025. 5. 4. 14:50

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

강의 내용 정리   

 

환경변수와 스크립트 작성

 

문제 상황: 매번 토큰 복사 → 붙여넣기 너무 번거로움

  • 모든 API가 인증 필요 → 매번 로그인 → 토큰 복사 → Authorization 헤더에 붙여야 함
  • 실무에서는 자동화/재사용이 필요함

 

해결 1: 환경변수 (Environment Variable) 활용

  • 환경 만들기
    • 좌측 하단 Environments → + 클릭 → 환경 이름 입력
      • 예: FastCampus NestJS
    • 변수 추가:
      • Key: host, Initial: (비워둬도 됨), Current: http://localhost:3000
    • 저장 후 우측 상단에서 해당 환경 활성화
  • 변수 사용법
    • URL 앞부분을 {{host}} 로 치환
    • {{host}}/movies
    • 마우스 올려 보면 적용된 값 확인 가능
    • 추후 배포 시 환경만 바꾸면 되므로 매우 유용

 

해결 2: 로그인 시 토큰 자동 저장

  • 스크립트 작성
    • 로그인 API → Tests 탭에 아래 스크립트 입력
    const body = pm.response.json();
    pm.environment.set("access_token", body.accessToken);
    pm.environment.set("refresh_token", body.refreshToken);
    
    • 응답에서 토큰을 추출해 환경 변수로 저장
  • 토큰 확인
    • Environments → 해당 환경 → 변수 자동 생성됨
      • access_token
      • refresh_token

 

해결 3: Authorization 자동 주입

  • Authorization에 환경 변수 사용
    • 헤더 > Authorization > Bearer {{access_token}}
  • 반복 방지: Inherit auth from parent 설정
    • 각각의 요청/폴더/컬렉션에서:
      • Authorization 설정 → Inherit auth from parent
    • 최상위 컬렉션에서만 직접 설정
      • Bearer Token 방식 선택
      • Token 값: {{access_token}}
  • 토큰 자동 갱신 흐름
    1. 로그인 실행 → access_token 갱신됨
    2. 모든 요청은 {{access_token}} 사용 → 자동 적용
    3. 다시는 복붙 필요 없음

 

학습 후기         

 

이번 강의를 통해 Postman을 활용한 API 테스트 자동화 및 인증 토큰 관리의 중요성과 구체적인 방법들을 배울 수 있었습니다. NestJS 기반의 백엔드 서버를 개발하면서 모든 API가 인증을 필요로 하다 보니, 로그인 → 토큰 복사 → 헤더에 붙여넣는 반복 작업이 점점 부담으로 다가왔습니다. 하지만 환경 변수와 스크립트를 적절히 활용하니, 이러한 번거로움이 한 번에 해결되었습니다.

 

가장 먼저 유용했던 점은 환경변수 설정입니다. {{host}}와 같은 변수로 API의 base URL을 추상화해두니, 추후 서버 환경이 변경되더라도 환경값만 바꾸면 전체 테스트 스크립트를 수정할 필요가 없어졌습니다. 실제로 로컬에서 테스트할 때는 localhost를 사용하고, 추후 배포 시에는 프로덕션 URL만 바꾸면 되니 협업이나 배포 자동화에도 유리할 것이라 생각했습니다.

 

또한 로그인 API의 응답에서 access_token과 refresh_token을 자동으로 저장하는 방식은 매우 강력했습니다. Postman의 Tests 탭에 간단한 JavaScript를 삽입함으로써 로그인 요청 이후의 모든 요청이 자동으로 최신 토큰을 반영하게 되었고, 헤더 설정 또한 Bearer {{access_token}}으로 통일할 수 있었습니다. 이런 자동화 덕분에 테스트 효율이 크게 향상되었고, 테스트 중에 토큰이 만료되더라도 단지 로그인 요청 하나만 재전송하면 전체 환경이 다시 유효해진다는 점이 실무에서도 매우 유용하게 쓰일 것이라 느꼈습니다.

 

특히 컬렉션 상속을 통한 Authorization 설정은 Postman을 깊이 있게 활용하는 첫 경험이었습니다. 각각의 요청에서 Authorization을 따로 설정할 필요 없이, 최상위 컬렉션에서 한 번만 설정하고 모든 하위 요청은 상속받게 하는 방식은 코드의 DRY(Don’t Repeat Yourself) 원칙과도 일맥상통한다고 느꼈습니다. 실수도 줄고, 협업자와의 공유 시에도 구조적으로 깔끔하게 유지할 수 있었습니다.

 

이번 실습은 단순한 토큰 처리 자동화 수준을 넘어, API 테스트 자체의 생산성과 안정성을 끌어올릴 수 있다는 인사이트를 주었습니다. 백엔드 개발자로서 단순히 API를 만드는 것에 그치지 않고, 테스트 자동화와 관리 효율성까지 고려하는 것이 진짜 실무 능력이라는 점을 절실히 느꼈습니다. 앞으로 다른 프로젝트에서도 이 방식을 그대로 적용할 생각입니다.

 

학습 인증샷       

                       

수강 인증 사진
학습 인증샷
공부 시작 시간
공부 종료 시간

https://abit.ly/lisbva