I am trying to get an id from URL but getting the null pointer exception
java.lang.NullPointerException: Attempt to read from field 'java.lang.String com.hex.encode.ID_Model$User.id' on a null object reference at com.hex.encode.Home$3.onResponse(Home.java:99)
and this is the code I am using to get the id:
private void GetID() {
Call<ID_Model> idcall = fetchdata.getIdService().getID(user_search);
idcall.enqueue(new Callback<ID_Model>() {
@Override
public void onResponse(@NonNull Call<ID_Model> call,@NonNull Response<ID_Model> response) {
assert response.body() != null;
String fetched_id =response.body().getUser().getId;//this is where the exception is poping
GetData(fetched_id);
}
@Override
public void onFailure(@NonNull Call<ID_Model> call, @NonNull Throwable t) {
//something//
}
});
}
and below is the fetchdata class:
class fetchdata {
private static UserFetchData userdatafetch = null;
private static UserIDFetch fetchService = null;
static UserIDFetch getIdService() {
if (fetchService == null) {
String id_url = "url_and_it's_working";
Retrofit fetch_id = new Retrofit.Builder()
.baseUrl(id_url)
.addConverterFactory(GsonConverterFactory.create())
.build();
fetchService = fetch_id.create(UserIDFetch.class);
}
return fetchService;
}
public interface UserIDFetch{
@GET("{user_input}"+"/")
Call<ID_Model> getID(@Path("user_input") String s);
}
}
Edit
Here is the Id_Model :
public class ID_Model {
@SerializedName("user")
@Expose
public User user;
public User getUser() {
return user;
}
public class User {
@SerializedName("id")
@Expose
public String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
}
Edit Here is the response from the API Server : https://justpaste.it/4gk8r