ApiClient.Java
ApiService.Java
models
public interface GitHubService {
@GET("/users/{user}/repos")
List<Repo> listRepos(@Path("user") String user);
}@GET("/users/{user}/repos")
@GET("/users/list?sort=desc")Las anotaciones de los métodos, de primera instancia, nos permiten manipular el tipo de método y la URL a la cuál haremos la petición.
@POST("/users/new")
void createUser(@Body User user, Callback<User> cb);Los argumentos que contenga el método de la petición definen por medio de anotaciones qué papel jugará ese argumento.
@GET("/group/{id}/users")
List<User> groupList(@Path("id") int groupId, @Query("sort") String sort);@POST("/users/new")
void createUser(@Body User user, Callback<User> cb);Esto lo define el valor que va a devolver la función.
@GET("/group/{id}/users")
List<User> groupList(@Path("id") int groupId, @Query("sort") String sort);void
Asíncrona
Object
Sincrona
@GET("/users/list")
Response userList();
@GET("/users/list")
void userList(Callback<Response> cb);
@GET("/users/list")
Observable<Response> userList();Así mismo podemos definir un observador de RxJava para obtener la respuesta.
APP
Client
Server
public class ApiClient {
public static ApiClient API_CLIENT;
public static ApiClient getInstance(Context context) {
if(API_CLIENT == null)
API_CLIENT = new ApiClient()
return API_CLIENT
}
private ApiClient (Context context){
//Constructor
}
}