실제 백엔드 서버를 띄우고나서 테스트를 할 때 많이 활용하는 툴로 포스트맨(Postman)이 있다. 포스트맨(Postman)을 활용하면 다양한 형태의 API 요청을 보낼 수 있어 테스트하기가 용이하다.
리눅스에서도 포스트맨(Postman)과 같은 역할을 하는 curl이라는 명령어가 있다. curl 명령어를 활용하면 GET, POST, PUT, DELETE 등 포스트맨(Postman)처럼 다양한 형태로 요청을 보낼 수 있다.
[예시]
# GET 형식
$ curl http://example.com/api/data
# POST 형식
$ curl -X POST http://localhost:8080/api/users \
-H "Content-Type: application/json" \
-d '{"name": "홍길동", "email": "gildong@example.com"}'
# PUT 형식
$ curl -X PUT http://localhost:8080/api/users/1 \
-H "Content-Type: application/json" \
-d '{"name": "홍길동", "email": "gildong@example.com"}'
# 등등
그런데 위 예시를 보면 GET 요청을 제외하고는 명령어가 다소 복잡하기 때문에, 간단하게 GET 요청으로만 API를 테스트하면 될 때에만 curl을 사용한다.
✅ 실전에서 많이 사용하는 상황
리눅스 환경에서 실행시킨 서버가 정상적으로 작동하는 지 체크하고 싶을 때
$ curl localhost:8080 # Spring Boot 서버가 내부에서 잘 실행되고 있는 지 체크
$ curl [EC2 퍼블릭 IP]:8080 # Spring Boot 서버가 외부 IP로도 요청이 되는 지 체크
$ curl localhost:9999 # 잘못된 주소로 요청보내보기
만약 curl 명령어를 몰랐다면 귀찮게 브라우저를 직접 켜서 테스트 해보거나 포스트맨(Postman)을 켜서 테스트해봐야 한다.
외부의 API 서버가 잘 작동하는 지 체크하고 싶을 때
$ curl https://jsonplaceholder.typicode.com/posts # 샘플 API 주소