본문 바로가기
java || spring boot

API 요청 하기 restTemplate 사용

by 정구지개발자 2024. 5. 10.
728x90

<API 요청 방법>

- restTemplate 

- HTTPURLConnection 또는 HttpClient 

- Feign 클라이언트 

- OkHttp 

- Retrofit 

 

<why? restTemplate 사용했나?>

 

1.  spring 통합 -> restTemplate는 spring의 핵심 모듈에 포함되어 있어 spring의 다른 구성 요소와 잘 통합

 

2. sync, async 지원 -> 동기식 및 비동기식 http 요청을 모두 지원

 

3. 다양한 http 메서드 지원 -> GET, POST, PUT, DELETE 등 다양한 http 메서드 지원 

 

4. 다양한 인코딩 및 디코딩 기능 ->  http요청 및 응답의 데이터를 다양한 형식으로 인코딩하거나 디코딩할 수 있다. ex)json, xml, form                                                         데이터 등을 처리할 수 있다.

 

<사용방법>

예시로 카카오 API 문서를 참고했을 떄 주소를 이용해 위치 정보를 받을 수 있게 기능을 만든다면

위의 문서를 보고 참고 하여 아래와 같이 요청을 해주면 되는데 

 

restTemplate.exchange why? exchange 사용 -> 범용적으로 사용하는 메서드 이 메서드를 사용하면 요청 방법(HTTP 메서드), 요청 엔터티, 응답 유형 등을 세밀하게 제어 가능

<exhange 메서드 parameter 설명>

url ->  요청을 보낼 대상의 URL

HttpMethod.GET -> GET요청을 보낸다는의미, POST 나 다른 요청도 가능 ex) HttpMethod.Post   , HttpMethod.PUT 등등 

entity -> headers를 넣어서 객체로 보낸다

Map.class -> Map 형태로 응답을 받기를 원할 떄 사용 다른 객체 타입으로 응답을 받고자 한다면 해당 객체의 클래스를 전달

 

728x90

댓글