Interfaz para Retrofit2

Actualmente la mayoría de las aplicaciones Móviles se conectan con funciones  que permiten la consulta, el intercambio de datos o mensajes (API), hay varias maneras en las que se pueden consumir pero en Android podemos utilizar en especifico Retrofit2.

 

Retrofit2

Cliente REST para Android y Java desarrollada por Square. Hace mas sencillo la obtención de datos JSON normalmente a través de GSon y utiliza la biblioteca OkHttp para las solicitudes HTTP. Permite hacer peticiones de tipo GET,POST,PUT,PATCH,DELETE y HEAD.

Al implementarlo usamos básicamente:

1.Modelo para asignar los datos JSON

2.Interfaces que define las peticiones HTTP

3.Instancia que utiliza la interfaz y la API para la operación HTTP (Service).

Interfaces para las Peticiones HTTP

Existen varios tipos de peticiones siendo los mas comunes GET, POST,PUT,DELETE.

Para especificar la solicitud y la URL tienen una base modelo que podemos cambiar de acuerdo a nuestra petición.

@Headers({
       Si tu petición necesita cabeceras
})
@PETICION("URL")
Call<BaseModel> Nombre de mi petición(@Body nombre del modelo model);

Petición GET

Este tipo de solicitud es comúnmente utilizada para consultar información anteriormente guardada.

En la parte de @Headers  ponemos lo que se necesite en la cabecera, @GET especificamos la URL o ruta por la cula se comunicara con la API.

Call es en si la llamada en la cual tenemos que indicarle el modelo de respuesta <BaseModel> el nombre de mi interfaz y algo importante es el dato incluido como @Path este parámetro es usado para pasar la información adicional que necesite la interfaz para devolvernos lo correcto, en este caso identificar el usuario del cual estamos solicitando el perfil.

@Headers({
        "service_version: "+ version
})
@GET("api/Usuario/Perfil/{id}")
Call<BaseModel> getPerfil(@Path("id")String id_person);

Petición POST

Esta solicitud se utiliza para crear un registro nuevo. En este caso encontramos dos cosas nuevas, la primera @Body contiene el modelo  que se llenara con los datos necesarios para crear el registro y @Header es un parametro que obtenemos del usuario o de una BD pero que no va en la URL sin no en las cabeceras.

@Headers({
        "Content-Type: application/json",
        "service_version: "+ version
})
@POST("/api/usuario/{unique_person}/producto")
Call<BaseModel> CrearProducto(@Body CrearProductoModel model, @Header("Authorization") String token, @Path("unique_person") String unique);

Petición PUT

La usamos normalmente para modificar un registro existente. Esta llamada tiene los mismos parámetros que las anteriores pude contener @body, @Path y @Header.

@Headers({
        "Content-Type: application/json",
        "service_version:" +version
})
@PUT("/api/Usuario/Producto")
Call<BaseModel> CambiarProducto(@Body ProductoModel model, @Header("Authorization") String token);

Estas son solo tres de las principales peticiones utilizadas, pero bajo el mismo modelo podemos agregar las demás.

Espero que pueda servirles de guía para poder utilizar Retrofit2. Si desean mas entradas sobre el tema dejen sus solicitudes en los comentarios.

por Esther Lopez

Programadora, Experiencia en educación para niños en el ámbito de la robótica, conferencista y activista en grupos donde enseñen programación a mujeres y niños de forma fácil.

2 comentario en “Interfaz para Retrofit2”
    1. Muchas gracias, tomaremos en cuenta tu sugerencia para dedicar una entrada para hablar sobre la autenticación por token.
      Esperamos que la información haya sido de ayuda.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.