Android - Conectar Retrofit(Android/AndroidStudio) con Drupal

 
Vista:

Conectar Retrofit(Android/AndroidStudio) con Drupal

Publicado por D-Ace (1 intervención) el 26/04/2018 16:34:22
Buenas tardes, Estoy intentando hacer un registro y un login en drupal a traves de mi app, he instalado en Drupal los modulos :

REST UI y RESTful Web Services

He comprobado las peticiones con Postman y he recibido respuesta, he intentado convertir esa respuesta en una clase Pojo pero no consigo nada, he creado de forma manual una clase Pojo con los datos de login pero solo consigo recibir un http_ok con un administrador y ni siquiera puedo recoger el resultado, dejo aqui la clase Pojo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class ResponseLogin {
    @SerializedName("name")
    private String name;
 
    private String pass;
 
    public ResponseLogin() {}
 
    public ResponseLogin(String name, String pass) {
        this.name = name;
        this.pass = pass;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getPass() {
        return pass;
    }
 
    public void setPass(String pass) {
        this.pass = pass;
    }
}

He creado mi interfaz, utilizando el metodo Post y un Body, resaltar que no me funciona con otra cosa que no sea @Body, @Field no funciona, ni siquiera añadiendo @Formurlencoded, dejo la interfaz aquí:

1
2
@POST("user/login?_format=json")
    Call<ResponseLogin> doLogin( @Body ResponseLogin user);

Dejo aqui como estoy realizando el metodo de login:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public void login(){
    name=usuario.getText().toString();
    pass=passwd.getText().toString();
 
    Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(Api.URL_BASE)
        .addConverterFactory(GsonConverterFactory.create())
        .build();
 
    ApiR Service = retrofit.create(ApiR.class);
    Call<ResponseLogin> peticionLogin=Service.doLogin(new ResponseLogin(name,pass));
    peticionLogin.enqueue(new Callback<ResponseLogin>() {
        @Override
        public void onResponse(Call<ResponseLogin> call, Response<ResponseLogin> response) {
            if (response.code()== HttpURLConnection.HTTP_OK) {
                ResponseLogin user= new ResponseLogin();
                String n=user.getName();
                Toast.makeText(InicioSesionActivity.this, "Conexion Establecida "+n, Toast.LENGTH_SHORT).show();
 
            }else {
                Toast.makeText(InicioSesionActivity.this, "On response", Toast.LENGTH_SHORT).show();
            }
        }
 
        @Override
        public void onFailure(Call<ResponseLogin> call, Throwable t) {
            Toast.makeText(InicioSesionActivity.this, "Error en la conexion", Toast.LENGTH_SHORT).show();
        }
    });
 
}

Si existe alguna sugerencia o algún ejemplo de como hacer un registro/login con drupal a través de una app en android(AndroidStudio) lo agradecería, llevo 2 semanas dando bandazos y estoy un poco atascado. Gracias y un Saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder