Android(Kotlin)

안드로이드 레트로핏(Retrofit) (2)

E.I.T.U 2021. 9. 17. 21:19

1. API가 제공하는 JSON 형식 값을 토대로 data class를 작성

안드로이드 스튜디오의 플러그인 중 하나인 JSON To Kotlin Class 를 활용하자

 

2. API를 활용할 클래스를 작성 (예시: 네이버 검색 API)

class NewsOpenApi {
   companion object {
      const val domain = "https://openapi.naver.com/v1/search/"

      // 도메인에는 API를 사용할 때 변하지 않는 주소 부분을 넣으면 된다
   }
}

 

3. 클래스 외부에 인터페이스 작성

interface NewsOpenService {

   // API에 따라 헤더에 정보를 추가해야할 때가 있는데
   // 인터페이스 부분에 헤더 어노테이션으로 추가하면 된다

   @Headers(
      "X-Naver-Client-Id: 발급받은 클라이언트 아이디",
      "X-Naver-Client-Secret: 발급받은 시크릿 코드"
   )

   @GET("news.json?") // 하나의 API가 여러 기능을 제공할 때

                             // 어떤 기능을 이용할 것인지 명시하는 것
   fun getNews(@Query("query") query:String,
                    @Query("display") display:Int,
                    @Query("start") start:Int,
                    @Query("sort") sort:String): Call<News>
                    // 요청에 필요한 값을 Query로 처리하면 편하다
}