5.1 Nhận và xử lý phản hồi từ RESTful API bằng cách sử dụng Retrofit trong lập trình android

Trong lập trình android sử dụng thư viện Retrofit, Để nhận và xử lý phản hồi từ RESTful API bằng Retrofit, bạn cần thực hiện các bước sau:

  1. Thêm thư viện Retrofit vào dự án của bạn. Bạn có thể thêm Retrofit bằng cách thêm dependencies sau vào file build.gradle của mô-đun:
groovy
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0' // (hoặc bất kỳ bộ chuyển đổi nào bạn muốn sử dụng)
  1. Tạo một interface để định nghĩa các yêu cầu API. Ví dụ:
java
public interface ApiService {
    @GET("users/{userId}")
    Call<User> getUser(@Path("userId") String userId);
}
  1. Tạo đối tượng Retrofit và cấu hình nó. Bạn cần chỉ định base URL của API và cấu hình các bộ chuyển đổi (converters) mà Retrofit sẽ sử dụng. Ví dụ:
java
Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.example.com/")
    .addConverterFactory(GsonConverterFactory.create())
    .build();

ApiService apiService = retrofit.create(ApiService.class);
  1. Gửi yêu cầu đến API bằng cách sử dụng phương thức được định nghĩa trong interface ApiService. Ví dụ:
java
Call<User> call = apiService.getUser("123456");
call.enqueue(new Callback<User>() {
    @Override
    public void onResponse(Call<User> call, Response<User> response) {
        if (response.isSuccessful()) {
            User user = response.body();
            // Xử lý dữ liệu từ phản hồi
        } else {
            // Xử lý lỗi
        }
    }

    @Override
    public void onFailure(Call<User> call, Throwable t) {
        // Xử lý lỗi kết nối hoặc lỗi xảy ra trong quá trình gửi yêu cầu
    }
});

Trong ví dụ trên, User là một lớp đại diện cho đối tượng người dùng mà bạn mong muốn nhận từ API. Bạn có thể thay đổi lớp này tùy thuộc vào cấu trúc dữ liệu của phản hồi từ API của bạn.

Lưu ý rằng khi sử dụng Retrofit, bạn cần xử lý các ngoại lệ và lỗi liên quan đến kết nối và phản hồi từ API một cách thích hợp trong phần callback.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top