[kotlin] 코틀린 안드로이드에서의 RESTful API 호출하기

안드로이드 앱을 개발하다보면 서버와의 통신이 필요한 경우가 많이 있습니다. 대부분의 서버와의 통신은 RESTful API를 통해 이루어지는데, 코틀린을 사용하여 안드로이드 앱에서 RESTful API를 호출하는 방법에 대해 알아보겠습니다.

Retrofit 라이브러리 사용하기

Retrofit은 안드로이드에서 네트워크 통신을 쉽게 처리할 수 있도록 도와주는 라이브러리입니다. 먼저 안드로이드 프로젝트의 build.gradle 파일에 Retrofit 라이브러리를 추가해야 합니다.

dependencies {
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.okhttp3:okhttp:4.9.1'
}

API 인터페이스 정의하기

다음으로 RESTful API의 엔드포인트와 메서드를 정의하기 위해 인터페이스를 만들어야 합니다.

interface ApiService {
    @GET("posts")
    fun getPosts(): Call<List<Post>>
}

API 호출하기

이제 Retrofit을 사용하여 API를 호출할 수 있습니다.

val retrofit = Retrofit.Builder()
    .baseUrl("https://example.com/api/")
    .addConverterFactory(GsonConverterFactory.create())
    .build()

val apiService = retrofit.create(ApiService::class.java)
val call = apiService.getPosts()

call.enqueue(object : Callback<List<Post>> {
    override fun onResponse(call: Call<List<Post>>, response: Response<List<Post>>) {
        if (response.isSuccessful) {
            val posts = response.body()
            // 처리할 작업 수행
        }
    }

    override fun onFailure(call: Call<List<Post>>, t: Throwable) {
        // 에러 처리
    }
})

위 예제에서는 Retrofit을 사용하여 /posts 엔드포인트에 GET 요청을 보내고, 성공 혹은 실패에 따라 적절한 작업을 수행하도록 구현한 것을 볼 수 있습니다.

안드로이드에서 RESTful API를 호출하는 방법에 대한 간단한 예제를 살펴봤습니다. Retrofit을 사용하면 네트워킹 코드를 간결하게 작성할 수 있고, 가독성이 좋아서 유지보수에 용이합니다.

더 많은 기능과 안정성을 위해 안드로이드에서의 네트워크 통신에는 보안과 에러 처리 등 추가적인 고려가 필요하니 참고하시기 바랍니다.