<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 형태로 응답을 받기를 원할 떄 사용 다른 객체 타입으로 응답을 받고자 한다면 해당 객체의 클래스를 전달
'java || spring boot' 카테고리의 다른 글
API 사용을 위해 HTTP 요청 헤더 만들기 (0) | 2024.05.10 |
---|---|
sping boot (intellj)편리한 단축키 (0) | 2024.04.23 |
CIA란? (0) | 2024.04.10 |
StringBuffer 와 StringBuilder의 차이점 (0) | 2024.01.11 |
call by value, call by reference란? (0) | 2024.01.04 |
댓글