이번장에는 JAVA에서 HTTP 통신으로 외부 API를 호출하여 JSON 데이터를 주고받는법을 알아보자.
Spring을 이용한 API 개발을 할때 Jackson 라이브러리가 있어서 JSON 요청데이터 파싱 및 응답을 Spring이
컨버팅 해줘서 편하지만 Spring 환경이 아닌 순수 JAVA에선 어떻게 해야하는지 예제코드와 함께 알아보자.
JSON 라이브러리 등록
JSON 데이터를 JAVA에서 다루기위해선 JSON 관련 라이브러리를 등록해야한다. 아래링크에 들어가서 jar파일을 다운받고 Build Path에 추가하자. Spring이라면 maven이나 gradle에 해당 의존성을 추가해주면 된다.
https://mvnrepository.com/artifact/org.json/json/20201115
jar파일 Build Path에 추가하는법
프로젝트 마우스 우클릭 -> Build Path -> Configure Build Path -> Libraries탭 -> Add External Jars -> 다운받은 jar파일 추가
-> Apply버튼클릭
API 서버세팅
일단 임의의 API를 제공하기 위해 로컬에 있는 스프링 프로젝트를 API 서버로 생성해두었다.
JSON 데이터를 해당 API를 호출할때 넘기고 넘긴값을 다시 받아보자.
API 요청 및 응답
Main클래스 생성자에 요청할 url을 인수를 넘겨 해당 api를 요청과 응답하는 메서드를 생성하였다.
API 요청
해당 url로 JSON 데이터를 전송했다. 서버에서 정상적으로 값이 전송된지 확인해보자.
API 요청확인 및 응답
정상적으로 서버로 전송되었다. 이제 받은값을 다시 요청한쪽으로 응답하자.
API 응답확인
정상적으로 값이 받아와진걸 확인하였다.
필자가 Spring으로 개발하면서 외부 API 호출하는 작업이 많았는데 크롬 보안정책(CORS) 때문에 통신에 어려움이 많았다. 이때 JAVA에서 HTTP 통신하는 방법에 알고는 있었지만 얕게 알다보니 이번기회에 정리 해보았다.
아래사진은 댓글요청에 의해 Main클래스 전체소스이다.
출처 : https://kim-jong-hyun.tistory.com/29
'Back-End > Spring' 카테고리의 다른 글
[Spring Cloud] Service Discover Server로 Netflix Eureka 이용하기 (0) | 2023.02.10 |
---|---|
[Spring] JSON 데이터(object, array)를 다뤄보기 (0) | 2023.02.10 |
[Spring] 복잡한 json 데이터 받기 (0) | 2023.02.10 |
[Spring MVC] 서블릿 - HttpServletResponse (0) | 2023.02.09 |
[Spring] Spring Jdbc - batchUpdate()를 사용한 bulk Insert 최적화 (0) | 2023.02.09 |