У меня есть служба, которая получает параметры и возвращает JSON в ответ.Ответ json такой, как указано ниже
{
"status": 0,
"message": "You are successfully registered",
"user": [
{
"name": "Rajiv",
"dob": "10/12/1988",
"gender": 1,
"qualification": "1",
"streams": "1",
"contactno": "3423234333",
"email": "rajiv88@gmail.com",
"password": "testpass",
"api_key": "29b9522d1bd23161db5aba89933a6015",
"profilepic": "NA",
"phverified": 0,
"emverified": 0,
"active": 0
}
]
}
Я написал интерфейс, как указано ниже:
@FormUrlEncoded
@POST("v20/register")
Call<RegisterResponse> insertUser(
@Field("name_of_user") String name,
@Field("dob") String dob,
@Field("gender") int gender,
@Field("qualification") String qualification,
@Field("streams") String streams,
@Field("contactno") String contactno,
@Field("email") String email,
@Field("password") String password);
Класс ответа регистра указан ниже
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.sbs.data.User;
public class RegisterResponse {
@SerializedName("status")
@Expose
private Integer status;
@SerializedName("message")
@Expose
private String message;
@SerializedName("user")
@Expose
private List<User> user = null;
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public List<User> getUser() {
return user;
}
public void setUser(List<User> user) {
this.user = user;
}
}
Я вызвал сервисную функцию следующим образом:
Call<RegisterResponse> call=jobApiService.insertUser(edName.getText().toString(),
edDob.getText().toString(),
spnGender.getSelectedItemPosition()+1,
categoryIDString, subCategoryIDString, txtPhone.getText().toString(), edmail.getText().toString(),
edpass.getText().toString());
call.enqueue(new Callback<RegisterResponse>() {
@Override
public void onResponse(Call<RegisterResponse> call, Response<RegisterResponse> response) {
Log.d("hj", "Number of users received: " + response.body().getMessage());
}
@Override
public void onFailure(Call<RegisterResponse> call, Throwable throwable) {
Log.d("hj", "Error");
}
});
Но я получаю
NullPointerException
Когда этот отчет
Log.d ("hj", "Numberиз полученных пользователей: "+ response.body (). getMessage ());
выполняется.
Может кто-нибудь предложить решение