Получение 422 необработанного объекта во время вызова API от Android с помощью Retrofit

Я пытаюсь опубликовать запрос, используя Retrofit, но продолжаю получать 422. Ниже приведены ресурсы, которые я использую. Он работает на почтальоне, но не на Android. Пожалуйста, посмотрите на скриншот, прикрепленный к нему.

Снимок экрана почтальона, содержащий запрос и ответ

user.java

public String first_name;
public String last_name;
public String email;
public String password;

public String getId() {
    return id;
}

public String getCreated_at() {
    return created_at;
}

public String getUpdated_at() {
    return updated_at;
}

public String id;
public String created_at;
public String updated_at;

public user(String first_name, String last_name, String email, String passsword) {
    this.first_name = first_name;
    this.last_name = last_name;
    this.email = email;
    this.password = passsword;
}

Функция, которая вызывает API

UserSignUp userSignUp = retrofit.create(UserSignUp.class);
user user = new user("has","sab","hn@gmail.com","123");
Call<user> call = userSignUp.signUp(user);
call.enqueue(new Callback<user>() {
    @Override
    public void onResponse(Call<user> call, Response<user> response) {
        Log.d("Main", "new");

    }

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

    }
});

В интерфейсе Usersignup:

@POST("/join.json")
Call<user> signUp(@Body user user);

1 ответ

 JSONObject jsonObject = new JSONObject()
 try
 {
   jsonObject.put("user[first_name]","has")
   jsonObject.put("user[last_name]","sab")
   jsonObject.put("user[email]","hn@gmail.com")
   jsonObject.put("user[password]","123")
 } catch (JSONException e) {
        e.printStackTrace()
    }


 RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString())


At your api Interface -> @Body RequestBody requestBody
Другие вопросы по тегам