Android/기타 지식
(Retrofit2) 1. 시작하기
jaesungLeee
2021. 7. 18. 20:03
1. Retrofit2 란?
- Android에서 REST API 통신을 지원하기 위한 라이브러리
- Type-Safe 한 HTTP 클라이언트 라이브러리
- 전달받은 데이터를 Client가 필요한 형태의 객체로 전달 받을 수 있음
- 존재하는 HTTP 통신 라이브러리 중 가장 많이 사용되는 라이브러리
- Squareup 사에서 개발
- Squareup 사에서 개발한 OkHttp 라이브러리의 상위 구현체
- AsyncTask 없이 Background에서 작업 수행 후 Callback 을 통해 MainThread에서 동작
- AsyncTask가 Deprecated 됨에 따라 기존 OkHttp를 이용하여 비동기적으로 서버와 통신 하는 방법이 불필요해짐
2. Retrofit2 장점
장점 :
- 빠른 성능
- OkHttp는 AsyncTask를 사용..
- 복잡하지 않은 구현
- 반복적인 작업을 라이브러리로 넘겨서 처리
- ex) HttpUrlConnection의 Connection, Input & Output Stream, URL Encoding 생성 및 할당 작업
- ex) OkHttp의 QueryString, Request/Response 반복 작업
- 반복적인 작업을 라이브러리로 넘겨서 처리
- 가독성
- Annotation 사용으로 가독성이 좋음
3. Retrofit2 구성 요소
- DTO (POJO)
- 'Data Transfer Object', 'Plain Old Java Object' 형태의 모델
- JSON 타입 변환에 사용
- Response로 받아오는 JSON을 원하는 형태의 Object로 변환할 수 있게 하는 Data Class
- Interface
- 사용할 HTTP 메소드들을 정의해놓는 Interface
- HTTP Method (POST / GET / PUT / DELETE)
- Retrofit.Builder
- Interface를 사용할 Instance
- BaseURL과 Converter 설정
References
https://salix97.tistory.com/204
https://jaejong.tistory.com/33