#android
Вопрос:
Я создаю логин для приложения (Android Studio), логин WS
в Symfony следующий:
Вход в систему (Symfony):
/**
* @Route("/ws/android/login", name="ws_android_login", methods={"POST"})
*/
public function login(Request $request) : JsonResponse
{
//$data = json_decode($request->getContent(), true);
$data = $request->request->all();
$entityManager = $this->getDoctrine()->getManager();
$usuarioExiste = $entityManager->getRepository(Usuarios::class)->findOneBy(['usuario' => $data['usuario']]);
if($usuarioExiste)
{
$usuario = $entityManager->getRepository(Usuarios::class)->findOneBy(['usuario' => $data['usuario'],'password' => $data['password']]);
$json = $this->convertirJson($usuario);
return $json;
}else
{
return new JsonResponse(
['status' => 'El usuario no existe, registrate'],
Response::HTTP_NO_CONTENT
);
}
}
Тестирование в Интернете, когда пользователь и пароли верны, результат JSON
совпадает с данными пользователя, проблема в том, что когда я пытаюсь выполнить этот вход в систему на Android, response.body()
он всегда равен нулю.
Вход в систему (Android Studio):
User user = new User();
final String usuario, password;
usuario = tietLoginUsuario.getText().toString().trim();
password = tietLoginPassword.getText().toString().trim();
user.setUsuario(usuario);
user.setPassword(password);
dBDWikiService.loginUsuario(user).enqueue(new Callback<Usuario>() {
@Override
public void onResponse(Call<Usuario> call, Response<Usuario> response) {
usuarioLogeado = response.body(); //ALWAYS NULL
if (usuarioLogeado == null) {
Toast.makeText(getContext(), "Usuario o contraseña incorrectos.", Toast.LENGTH_SHORT).show();
progressDialog.hide();
} else {
synchronized (usuarioLogeado) {
usuarioLogeado.notify();
sesion.createUserLoginSession(
usuarioLogeado.getId(),
usuarioLogeado.getUsuario(),
usuarioLogeado.getPassword(),
usuarioLogeado.getEmail(),
usuarioLogeado.getFoto(),
usuarioLogeado.getAdmin(),
usuarioLogeado.getFingerprint()
);
}
progressDialog.hide();
usu = sesion.getUserDetails().get("usuario").toString();
new Task1().execute(usu);
Navigation.findNavController(getView()).navigate(R.id.nav_personajes);
}
}
@Override
public void onFailure(Call<Usuario> call, Throwable error) {
Log.e("ERROR", "Error occurred " error.getMessage());
}
});
}