Добрый день. Никак не могу понять почему не выполняется код в методе onResponse().
public class Authentication {
public static String accessToken;
public static int responseCode;
//Get access token and create db with user profile and orders
public static void Authenticate(LoginData loginData) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://какойтосайт.ru/api/v1/")
.addConverterFactory(JacksonConverterFactory.create())
.build();
ApiService apiService = retrofit.create(ApiService.class);
Call<String> call = apiService.getAccessToken(loginData);
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
//Код ниже почему то не выполняется
responseCode = response.code();
accessToken = response.body().substring(18, 49);
}
@Override
public void onFailure(Call<String> call, Throwable t) {
}
});
}
}
Вызов метода Authenicate:
public void onClick(View view) {
loginData = new LoginData(inputPhone.getText().toString(), inputPassword.getText().toString());
Authentication.Authenticate(loginData);
switch (Authentication.responseCode) {...}
Код класса ApiService:
public interface ApiService {
@Headers( "Content-Type: application/json" )
@POST("users/login")
Call<String> getAccessToken(@Body LoginData loginData);
}
Модель LoginData:
@JsonPropertyOrder({"phone", "password"})
public class LoginData {
@JsonProperty("phone")
public String Phone;
@JsonProperty("password")
public String Password;
public LoginData(String phone, String password) {
this.Phone = phone;
this.Password = password;
}
}