проблема в вызове UPDATE api retrofit2 - PullRequest
0 голосов
/ 29 сентября 2018

У меня проблема с вызовом API обновления, когда я вызываю api, это сообщение об успешном показе, но выполнение прерывается из call.enqueue метода, я не знаю, где я ошибаюсь.

Это мой Api url

Мой URL

https://56aba649.ngrok.io/api/update

Мой класс интерфейса

public interface Api {
    @FormUrlEncoded
        @POST("update")
        Call<Message> updateUser( @Field("id") String id,
                               @Field("username") String username,
                               @Field("email") String email,
                               @Field("password") String password);
    }

Класс моей модели

public class user {

@SerializedName("id")
@Expose
private String  id;
@SerializedName("username")
@Expose
private String username;
@SerializedName("email")
@Expose
private String email;
@SerializedName("password")
@Expose
private String password;

public user(String  id, String username, String email, String password) {
    this.id = id;
    this.username = username;
    this.email = email;
    this.password = password;
}

public String  getId() {
    return id;
}

public String getUsername() {
    return username;
}

public String getEmail() {
    return email;
}

public String getPassword() {
    return password;
}

public void setId(String  id) {
    this.id = id;
}

когда я отлаживаю код, до call.enqueue(new Callback<Message>() этой строки после выполнения этой строки прерывается

но сообщение Sucess Toast печатается я не знаю, как это будет успешно сообщение без успешного вызова

MainActivity класс

private void updateUser(){

        final ProgressDialog progressDialog = new ProgressDialog(this);
        progressDialog.setMessage("Updating...");
        progressDialog.show();

        String   id = (ed1.getText().toString().trim());
        String email = ed2.getText().toString().trim();
        String username = ed3.getText().toString().trim();
        String password = ed4.getText().toString().trim();


        Api service = RetroClient.getApiService();

 user usr = new user(id,email,username,password);
 Call<Message> call = service.updateUser(
            usr.getId(),
            usr.getUsername(),
            usr.getEmail(),
            usr.getPassword());

 call.enqueue(new Callback<Message>() {
            @Override
            public void onResponse(Call<Message> call, Response<Message> response) {
                progressDialog.dismiss();
                Toast.makeText(Main2Activity.this,"Sucess",Toast.LENGTH_LONG).show();
}
          @Override
            public void onFailure(Call<Message> call, Throwable t) {

                progressDialog.dismiss();
                Toast.makeText(Main2Activity.this,"fail", Toast.LENGTH_SHORT).show();
}
        });
}

@Override
    public void onClick(View view) {

        if (view == btn1){

            updateUser();
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...