Получение 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