OS : Window 11
Test Tool : cmd
특정 회사에서 API를 통해 유지 보수 중인 포털에 JSON 값을 전송하는 테스트를 맡아서 진행을 하고 있다...
DB 및 Java 컨트롤러 로직과 jsp 파일을 수정한 후에 로컬 환경에서 테스트를 진행하기 위해 여러블로그를 찾아보고, GPT에게도 물어보았다.
API 테스트를 진행할 때 사용하는 툴은 대표적으로 'Postman'이라는 툴이 있는데, 추가적인 툴을 설치할 수 없는 환경에서 테스트를 해야했기에 'cmd'를 사용하여 테스트를 진행했다.
Postman 공식 홈페이지
https://www.postman.com/
cmd 즉, 명령 프롬프트에서 API 테스트를 진행하려면 curl이라는 명령어를 사용해야 한다.
만약 테스트를 통해 {"A" : "test", "B": 12345, "C" : "API"} 라는 JSON 값을 http://localhost:8080/inputPage.do 라는 곳으로 POST한다고 하자.
이때 명령 프롬프트에 입력라는 명령어는 다음과 같다.
curl -X POST -H "Content-Type: application/json" -d "{\"A\" : \"test\", \"B\": 12345, \"C\" : \"API\"}" http://localhost:8080/inputPage.do
다음과 같이 명령어를 입력하면 정상적으로 JSON 값이 전송된다.
입력한 명령어를 세부적으로 살펴보자.
-X POST : -X는 HTTP 메서드를 지정하며, POST 메서드를 사용하겠다는 것을 나타낸다.
-H "Content-Type: application/json" : -H는 HTTP 헤더를 설정한다. "Content-Type" 헤더를 설정하고 있으며, application/json은 전송되는 데이터가 JSON 형식임을 나타낸다.
-d "{\"A\" : \"test\", \"B\": 12345, \"C\" : \"API\"}" : -d 는 POST 요청의 본문 데이터(body)를 의미한다. JSON 형식으로 데이터를 전달하는 부분이며, Key와 Value 값이 포함되어야 한다. 또한, {}내에 ""의 경우 \ 를 사용해줘야 오류가 발생하지 않는다.
자료형이 int인 경우 입력값 ""로 감싸주지 않고 12345처럼 그대로 적어주면 된다.
http://localhost:8080/inputPage.do : 마지막으로, curl 명령어로 요청을 보낼 URL을 지정한다.
안녕하세요, 혹시 curl에 대해서 궁금한 게 있는데 혹시 질문드려도 괜찮을까요?