Ошибка получения пользователя по токену с Retrofit в Android Studio - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь получить токен пользователя с помощью Retrofit, но когда я выполняю обратный вызов, он не входит в функцию onResponse. Модель данных верна, потому что она работает для меня при входе и регистрации с тем же ответом в Почтальоне. Точно так же ответ хорошо работает в Почтальоне

Это класс APIService, я посылаю идентификатор по параметру в URL:

    @GET("user/uno/{api_token}")
    Call<LoginResponse> getUserByToken(@Path("api_token") String api_token);

Это обратный вызов функция:

private void getUser(String api_token){

      Call<LoginResponse> call =  APIService.getUserByToken(api_token);

            call.enqueue(new Callback<LoginResponse>() {
            @Override
            public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
                loginResponse = response.body();
                if(response.isSuccessful()) {

                    Log.d("GET API TOKEN USER MAIN", response.body().getUser().getApitoken());
                }
            }
            @Override
            public void onFailure(Call<LoginResponse> call, Throwable t) {
                Log.d("Error", "Error");
            }
        });
    }

И это kHttp. Там написано:

 D/OkHttp: --> GET http://111.111.11.1/trabajos/api-manager-karate/karate-manager-api-laravel/public/api/user/uno/3c044a68e44e5890fac03545b2c37e7c4500c6baf9f28954cbf533902607e0f6
2020-04-17 12:07:19.152 10155-10218/com.example.karate_manager D/OkHttp: --> END GET
2020-04-17 12:07:19.290 10155-10218/com.example.karate_manager D/OkHttp: <-- 404 Not Found http://111.111.11.1/trabajos/api-manager-karate/karate-manager-api-laravel/public/api/user/uno/3c044a68e44e5890fac03545b2c37e7c4500c6baf9f28954cbf533902607e0f6 (137ms)
2020-04-17 12:07:19.290 10155-10218/com.example.karate_manager D/OkHttp: Date: Fri, 17 Apr 2020 10:07:19 GMT

Это запрос почтальона:

{
    "code": 200,
    "user": [
        {
            "id": 17,
            "email": "hulk@gmail.com",
            "name": "Hulk",
            "api_token": "3c044a68e44e5890fac03545b2c37e7c4500c6baf9f28954cbf533902607e0f6",
            "admin_user": 0,
            "active": 1,
            "photo_profile": null,
            "email_verified_at": null,
            "created_at": "2020-04-17T10:01:41.000000Z",
            "updated_at": "2020-04-17T10:01:41.000000Z"
        }
    ],
    "msg": "User created"
}

Класс LoginResponse и класс User:

public class LoginResponse {

    public LoginResponse(float code, User user, String msg) {
        this.code = code;
        this.user = user;
        this.msg = msg;
    }

    public float getCode() {
        return code;
    }

    public User getUser() {
        return user;
    }

    public String getMsg() {
        return msg;
    }

    private float code;
    private User user;
    private String msg;
}
public class User {

    public User(float id, String email, String name, String api_token, float admin_user, float active, String photo_profile, String email_verified_at, String created_at, String updated_at) {
        this.id = id;
        this.email = email;
        this.name = name;
        this.api_token = api_token;
        this.admin_user = admin_user;
        this.active = active;
        this.photo_profile = photo_profile;
        this.email_verified_at = email_verified_at;
        this.created_at = created_at;
        this.updated_at = updated_at;
    }




    @SerializedName("id")
    private float id;

    @SerializedName("email")
    private String email;

    @SerializedName("name")
    private String name;

    @SerializedName("api_token")
    private String api_token;
    @SerializedName("admin_user")
    private float admin_user;

    @SerializedName("active")
    private float active;

    @SerializedName("photo_profile")
    private String photo_profile = null;

    @SerializedName("email_verified_at")
    private String email_verified_at = null;
    @SerializedName("created_at")
    private String created_at;

    @SerializedName("updated_at")
    private String updated_at;

    public float getId() {
        return id;
    }

    public String getEmail() {
        return email;
    }

    public String getName() {
        return name;
    }

    public String getApitoken() {
        return api_token;
    }

    public float getAdmin_user() {
        return admin_user;
    }

    public float getActive() {
        return active;
    }

    public String getPhoto_profile() {
        return photo_profile;
    }

    public String getEmail_verified_at() {
        return email_verified_at;
    }

    public String getCreated_at() {
        return created_at;
    }

    public String getUpdated_at() {
        return updated_at;
    }
}

...