본문 바로가기
개발/Android

[Android] Retrofit2를 사용하여 RESTful API 호출하기

by blacktree 2023. 3. 7.
반응형

Retrofit2는 Square에서 개발한 Android 및 Java용 HTTP 클라이언트 라이브러리입니다. 이 라이브러리를 사용하면 RESTful API를 쉽게 호출할 수 있습니다.

Retrofit2를 사용하려면 먼저 Gradle에 의존성을 추가해야 합니다. Gradle은 Android 및 Java 프로젝트의 빌드 시스템으로, 의존성 관리, 빌드, 테스트 등을 자동화할 수 있습니다.

dependencies { 
	implementation ‘com.squareup.retrofit2:retrofit:2.9.0’ 
	implementation ‘com.squareup.retrofit2:converter-gson:2.9.0’ 
}

 

다음으로, Retrofit 인스턴스를 생성합니다. 

이 인스턴스는 API 호출을 위한 기본 URL을 설정합니다. 

또한, 응답을 자동으로 변환하기 위해 GsonConverterFactory를 추가합니다. 

Gson은 Google에서 개발한 JSON 파싱 라이브러리입니다.

Retrofit retrofit = new Retrofit.Builder() 
                        .baseUrl(“https://api.example.com/”) 
                        .addConverterFactory(GsonConverterFactory.create()) 
                        .build();

 

이제 API 인터페이스를 정의합니다. 

이 인터페이스는 호출할 API의 엔드포인트와 HTTP 메소드, 파라미터 등을 정의합니다. 

Retrofit은 이 인터페이스를 사용하여 자동으로 API 호출 코드를 생성합니다.

public interface ExampleApi { 
    @GET(“users/{user}”) 
    Call<User> getUser(@Path(“user”) String user); 
}

 

마지막으로, Retrofit 인스턴스를 사용하여 API 인터페이스의 구현체를 생성하고, API 호출을 수행합니다. 

API 호출은 비동기적으로 수행되며, 응답이 도착하면 Callback의 onResponse 메소드가 호출됩니다. 

만약 호출이 실패하면 onFailure 메소드가 호출됩니다.

ExampleApi api = retrofit.create(ExampleApi.class);
Call<User> call = api.getUser(“example”);
call.enqueue(new Callback<User>() {
    @Override
    public void onResponse(Call<User> call, Response<User> response) {
    } // Handle response }
    @Override
    public void onFailure(Call<User> call, Throwable t) {
        // Handle failure
    }
});

 

이상이 Retrofit2를 사용하여 Android에서 RESTful API 호출하는 방법입니다. 

더 자세한 정보는 공식 문서를 참조하세요.

 

 

GitHub - square/retrofit: A type-safe HTTP client for Android and the JVM

A type-safe HTTP client for Android and the JVM. Contribute to square/retrofit development by creating an account on GitHub.

github.com

 

728x90
반응형

댓글