솔솔
[IntelliJ] IntelliJ HTTP Client로 API 테스트 쉽게 시작하기 본문
🍀 들어가기
지금까지 API를 테스트할 때 주로 Postman이나 Swagger를 활용해왔다.
직관적이고 간편한 사용법 덕분에 나 포함 많은 개발자들이 사용하는 것 같다.
하지만 이번에 IntelliJ HTTP Client를 알게 되었고,
사용해본 결과 Postman이나 Swagger보다 개인적으로 편한점들이 많았다.
(사용목적에 따라 편하기는 달라지는 듯)
IDE 내부에서 바로 API를 테스트하고 결과를 확인할 수 있는 점이 가장 큰 매력이었고,
코드처럼 관리할 수 있다는 점도 큰 장점이였다.
🍀 IntelliJ HTTP Client란?
IntelliJ IDEA에 내장된 HTTP 요청 및 API 테스트 도구이다.
이 도구를 사용하면 IDE 환경에서 바로 HTTP 요청을 작성, 실행, 테스트할 수 있어, 별도의 외부 도구(예: Postman, Swagger) 없이도
편리하게 API 테스트를 수행할 수 있다.
https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html
HTTP Client | IntelliJ IDEA
www.jetbrains.com
위의 링크를 통해 HTTP Client 문서를 확인해보면
Ultimate 전용 기능인 것을 알 수 있다.
⚠️ 즉 HTTP Client의 최대 단점은 IntelliJ 유료판이 아니면 사용을 못한다는 것이다.
🍀 IntelliJ HTTP Client 주요 특징
1. IntelliJ IDEA에서 바로 HTTP 요청을 작성하고 실행가능
(가끔 IDE에서 다른 프로그램으로 화면 전환하면 눈이 피로해질 때가 있다. 그런 점을 생각하면 API 테스트 시 피로도가 덜 한듯 )
2. HTTP 요청을 파일로 저장 및 관리
- HTTP 요청을 .http 또는 .rest 파일로 저장할 수 있음
- 저장된 파일은 Git과 같은 버전 관리 시스템을 통해 쉽게 관리할 수 있어 협업에 유리
🍀 IntelliJ HTTP Client 장점 (API 문서화 및 관리 측면에서)
[Swagger와 비교]
Swagger는 API 문서화 및 UI 제공 도구로, 개인적인 경험으로 개인 팀 프로젝트에서는 간편하게 적용할 수 있지만, 이전 회사에서의 대규모 프로젝트에서는 적용하기란 쉽지 않았다.
이전 회사 프로젝트에서 Swagger 적용이 어려웠던 이유
- Swagger UI 렌더링 속도 문제: 프로젝트가 크면 Swagger UI가 느려질 수 있음
- 유지보수 부담: API 스펙이 자주 변경될 경우 Swagger 설정과 유지보수가 번거로움
- 도입 시간과 비용 문제: 이미 운영 중인 프로젝트에 Swagger를 적용하려면 상당한 시간과 비용이 듬
IntelliJ HTTP Client의 장점
- Swagger처럼 UI 렌더링 과정이 필요 없음
- HTTP 요청을 파일로 작성하면 별도 빌드 없이 바로 실행 가능
- 시간 및 유지보수 부담을 줄일 수 있는 대안으로 활용 가능
[Postman과 비교]
Postman은 팀 단위 협업을 위해 유료 플랜을 이용해함. 회사 입장에서는 API 테스트를 위해 Postman에 비용을 투자해야 된다는 것이 부담스러움.(왜 여기에 비용을 투자해야되는지 이해를 못할 수도 있음.)
IntelliJ HTTP Client의 장점
- 서로 유료판 IntelliJ Ultimate를 사용 중인 팀원이라면, 별도의 추가 비용 없이 HTTP Client를 사용할 수 있음
- 파일 기반으로 HTTP 요청을 관리하고, Git으로 버전 관리가 가능하여 팀 협업에 적합
🍀 IntelliJ HTTP Client 편하게 사용하기
1. 컨트롤러에서 API 테스트 파일 자동 생성
2. 자동 완성 기능 제공
3. 퍼블릭 환경설정 파일 관리 (JSON 파일)
'나의보물들 > IntelliJ' 카테고리의 다른 글
[IntelliJ] IPv4설정하기 (0) | 2022.12.26 |
---|---|
[IntelliJ] HTML 실시간 반영하기 (0) | 2022.10.20 |
[IntelliJ] Live Templates로 자주 쓰는 코드 템플릿만들기 (test 코드) (0) | 2022.10.07 |
[IntelliJ] IntelliJ MySql 연동하기 (1) | 2022.10.05 |
[IntelliJ] thymeleaf 기본 코드 형식 설정하기 (1) | 2022.09.30 |