[Android] REST API - Retrofit

Twaun·2022년 4월 23일
0

Android-Library

목록 보기
5/10

Rest API 이란?

  • REST(Representational State Transfer) 아키텍쳐의 제약조건을 준수하는 어플리케이션 프로그래밍 인터페이스
  • 서버와 클라이언트간의 단방향 통신 구조
  • Request 와 Response
  • Get, Post, Put, Delete

통신과정

클라이언트 -> Request -> 서버 -> Response -> 클라이언트

안드로이드에서 Rest API

안드로에드에서는 보다 편리하게 통신이 가능하도록 하는 Retrofit 라이브러리가 있다.

retrofit 사용을 위한 3가지

  • DTO(Data Transfer Object) : Json Type을 받을 모델 정의
  • Interface : CRUD 정의(Post / Get / Put / Delete)
  • Retrofit Builder Class : baseurl, converter, interceptor 등의 설정

DTO

  • serialize
    - reflection을 통한 매칭
    - java 표준 인터페이스
@Serializable
data class Person(
    @SerialName("name") val name: String,
    @SerialName("age") val age: Int
)
  • pacelize
    - Android SDK 인터페이스
    - serialize 보다 빠른 속도
    - serialize 보다 빠른 속도
@Parcelize
data class Person(
    val name: String,
    val age: Int
) : Parcelable

Interface

인터페이스 내에서 서버로 요청할 API를 비동기 함수로 작성한다.

CRUD

  • Create
  • Read
  • Update
  • Delete
 @CRUD("서버주소")
    suspend fun 함수(
        @Header
        @Query
        @Parameter
        @Body 
        ..
        ...
    ) : Response<타입>

Builder

  • BaseUrl 설정
  • Gson, Json 등등
  • Interceptor 을 이용한 에러 확인
profile
Android Developer

0개의 댓글