백엔드 개발을 하다 보면 API를 테스트해야 할 일이 무수히 많습니다.
이때 가장 많이 사용되는 도구가 Postman과 Insomnia입니다.
두 도구의 차이점과 설정 방법, 그리고 Spring Boot 기반 REST API 테스트에 어떻게 활용할 수 있는지 정리해보겠습니다.
1. Postman과 Insomnia, 어떤 도구인가?
Postman
- UI가 직관적이며 팀 협업 기능이 잘 갖춰져 있음
- API 문서화, Mock 서버, Test 스크립트 작성 기능 지원
- 클라우드 동기화 기능 탑재 (계정 로그인 필요)
- Windows, macOS, Linux, Web 버전 지원
Insomnia
- 경량화된 UI로 빠르고 단순한 요청 테스트에 적합
- 환경변수 설정이 편리하고 YAML 기반 설정 파일로 버전 관리에 유리
- GraphQL, gRPC 요청 테스트에도 강점
- 오픈소스 기반
개인적으로는 빠르게 테스트할 때는 Insomnia, 복잡한 인증·자동화 테스트가 필요한 경우엔 Postman을 선호합니다.
2. 기본 사용법 (Spring Boot 예제 API 기반)
예제 API 엔드포인트:
GET http://localhost:8080/api/hello
Postman
- Postman 실행 → "+ New" → "HTTP Request" 선택
- Method:
GET
, URL:http://localhost:8080/api/hello
입력 - Send 클릭 → 응답 확인
Insomnia
- Insomnia 실행 → "+ New Request"
- Request 이름, Method: GET, URL 입력
- Send 클릭 → JSON 응답 확인
3. POST/PUT 요청과 JSON 본문 입력
예제 엔드포인트:
POST http://localhost:8080/api/users
{
"name": "홍길동",
"email": "hong@example.com"
}
Postman
- Method:
POST
, URL 입력 - Body 탭 → raw 선택, JSON 형식 선택
- 본문에 JSON 입력 후 Send
Insomnia
- Request Body 탭 → JSON 선택
- JSON 본문 입력 후 Send
4. 환경 변수와 프로파일
테스트 환경(로컬/개발/운영)에 따라 API 주소가 달라질 때, 변수
를 설정하면 재사용성이 좋아집니다.
Postman
- Environments 기능 활용
{{base_url}}
과 같이 변수로 URL 설정 가능
Insomnia
- 환경 관리자가 JSON 형태로 존재
{{ base_url }}
식으로 사용
5. 인증 테스트
1) JWT / Bearer Token
- Postman: Authorization 탭 → Bearer Token 입력
- Insomnia: Auth 탭 → Bearer Token 입력
2) Basic Auth, OAuth2
- Postman은 OAuth2 토큰 요청 → 자동 헤더 설정 가능
- Insomnia도 OAuth2 지원, UI가 간단
6. 테스트 결과 스크립트 (Postman 한정)
Postman은 응답 결과에 대한 자동 테스트 스크립트
작성이 가능합니다.
// Tests 탭에 작성
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
CI/CD 파이프라인과 연동하여 테스트 자동화할 때 유용합니다.
7. 어떤 도구를 선택할까?
기능 | Postman | Insomnia |
---|---|---|
초보자 친화 | O | △ |
속도 / 가벼움 | △ | O |
테스트 자동화 | O | △ |
버전관리 연동 | Pro 필요 | YAML로 가능 |
Mock 서버 지원 | O | △ |
결론
둘 다 훌륭한 API 테스트 도구입니다. 개인 프로젝트나 빠른 확인용은 Insomnia, 테스트 시나리오 자동화나 팀 협업에는 Postman이 적합합니다.
Spring Boot API 개발자라면 두 도구 모두 사용법에 익숙해지는 걸 추천드립니다.
'개발 > JAVA' 카테고리의 다른 글
Spring MVC 요청 처리 흐름 이해하기 (0) | 2025.09.29 |
---|---|
JUnit5와 Spring Test 기초: 단위 테스트부터 통합 테스트까지 (0) | 2025.09.27 |
Spring Boot에서 @Value를 사용해 properties 값 주입하기 (0) | 2025.09.26 |
Spring Boot에서 SLF4J와 Logback으로 로깅 설정하기 (0) | 2025.09.25 |
Spring Boot DevTools 활용하기 – 개발 생산성을 높이는 자동 리로드 기능 (0) | 2025.09.24 |