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 장점

장점 :

  1. 빠른 성능
    • OkHttp는 AsyncTask를 사용..
  2. 복잡하지 않은 구현
    • 반복적인 작업을 라이브러리로 넘겨서 처리
      • ex) HttpUrlConnection의 Connection, Input & Output Stream, URL Encoding 생성 및 할당 작업
      • ex) OkHttp의 QueryString, Request/Response 반복 작업
  3. 가독성
    • 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

 

레트로핏 (Retrofit) 이란? (Kotlin 으로 레트로핏 사용)

1. retrofit 의 뜻 안드로이드에서 retrofit 이 무엇인지 알아보기 전에, retrofit 이라는 단어의 사전적인 의미부터 알아보자. (1) 기존에 사용할 수 없었던 필요하다고 간주되는 새 부품이나 개조된 장

salix97.tistory.com

https://velog.io/@mingyun12304/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-http-%ED%86%B5%EC%8B%A0Retrofit

 

HTTP 통신 & Retrofit

안드로이드에서 서버와 클라이언트 간의 Http 통신을 도와주는 라이브러리입니다.클라이언트에서 서버로 어떠한 요청을 보내면 서버는 그 요청에 대한 응답을 클라이언트로 보내주어야 하는데,

velog.io

https://jaejong.tistory.com/33

 

[안드로이드] Retrofit2 '레트로핏' - 기본 사용법

Retrofit2 - REST API 통신 라이브러리 'Retrofit' - REST통신 라이브러리 기본 개념 & 사용법 통신 라이브러리 중 가장 많이 사용되는 대표적인 라이브러리 ( Squareup 사의 라이브러리) Retrofit 이란? REST API..

jaejong.tistory.com