Junior — Middle
Can you explain what Retrofit Client is and how it is used for interacting with REST API?
sobes.tech AI
Answer from AI
Retrofit Client is a library for Android and Java that simplifies interaction with REST APIs. It allows you to create HTTP requests to a server and receive responses, automatically converting JSON or XML into Java objects.
Main features:
- Uses annotations to describe HTTP methods (GET, POST, PUT, etc.).
- Supports converters for data serialization/deserialization (e.g., Gson).
- Enables working with asynchronous and synchronous requests.
Example usage:
public interface ApiService {
@GET("users/{id}")
Call<User> getUser(@Path("id") int userId);
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example.com/")
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiService service = retrofit.create(ApiService.class);
Call<User> call = service.getUser(1);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
if (response.isSuccessful()) {
User user = response.body();
// handle the received user
}
}
@Override
public void onFailure(Call<User> call, Throwable t) {
// handle error
}
});
Thus, Retrofit significantly simplifies working with REST APIs, making the code cleaner and easier to maintain.