Модификация ожидалась begin_array, но была begin_object в строке 1, столбце 2, пути, $ Android studio - PullRequest
0 голосов
/ 26 июня 2019

Я знаю, что это не первый раз, когда кто-то спрашивает об этой проблеме, но с Retrofit2 я не могу найти правильное решение моей проблемы. Я следовал онлайн-учебнику, и он работал просто отлично. Когда я применил тот же код к своей собственной конечной точке, я получил следующее исключение: java.lang.IllegalStateException: ожидаемый BEGIN_ARRAY, но был BEGIN_OBJECT на пути строки 1 столбца 2 $, я не знаю, как его решить

Интерфейс:

public interface LoginInterface {

    String BaseUrl = "https://411e5d9a-4b4f-4856-964a-f87759522aa7.mock.pstmn.io/";

    @GET("login")
    Call<List<UserInfos>> getUserInfos();


}

Java класс:

public class UserInfos {

private String firstName;
private String lastName;
private String email;
private String urlPhoto;
private String matricule;

public UserInfos(String firstName, String lastName, String email, String urlPhoto, String matricule) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.email = email;
    this.urlPhoto = urlPhoto;
    this.matricule = matricule;
}

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getUrlPhoto() {
    return urlPhoto;
}

public void setUrlPhoto(String urlPhoto) {
    this.urlPhoto = urlPhoto;
}

public String getMatricule() {
    return matricule;
}

public void setMatricule(String matricule) {
    this.matricule = matricule;
}
}

Класс деятельности:

public class AccueilActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_accueil);

    fetchData();

}

public void fetchData(){

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BaseUrl)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    LoginInterface loginInterface = retrofit.create(LoginInterface.class);

    Call<List<UserInfos>> call = loginInterface.getUserInfos();

    call.enqueue(new Callback<List<UserInfos>>() {
        @Override
        public void onResponse(Call<List<UserInfos>> call, Response<List<UserInfos>> response) {

            List<UserInfos> userInfos = response.body();

            for (UserInfos userInfos1: userInfos){

                Log.e("First name ---------",userInfos1.getFirstName());
                Log.e("Last name ---------",userInfos1.getLastName());
                Log.e("Email ---------",userInfos1.getEmail());
                Log.e("Matricule ---------",userInfos1.getMatricule());

            }
        }

        @Override
        public void onFailure(Call<List<UserInfos>> call, Throwable t) {

            Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_SHORT).show();

        }
    });

}

1 Ответ

0 голосов
/ 26 июня 2019
LoginInterface loginInterface = retrofit.create(LoginInterface.class);

    loginInterface.login(firstname, lastname, email, matricule).enqueue(new Callback<UserInfos>() {
    @Override
    public void onResponse(Call<UserInfos> call, Response<UserInfos> response) {
        System.out.println("onResponse");
        System.out.println(response.body().toString());
    }

    @Override
    public void onFailure(Call<UserInfos> call, Throwable t) {
        System.out.println("onFailure");
        System.out.println(t.fillInStackTrace());
    }
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...