That's how the main Activity looks like
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiCallInterface apiCallInterface = retrofit.create(ApiCallInterface.class);
Call<MenuResponse> call = apiCallInterface.getResponseData("eyJhcGlrZXkiOiI1YTRmNzRiNTUyNzUxOWMwYzY3MGMwZWQ5MDRhZTM0MSJ9");
call.enqueue(new Callback<MenuResponse>() {
@Override
public void onResponse(Call<MenuResponse> call, Response<MenuResponse> response) {
Log.d(TAG, "onResponse: server response" + response.toString());
Log.d(TAG, "onResponse: received info" + response.body().toString());
List<Datum> children = response.body().getData();
for (int i = 0; i < children.size(); i++) {
Log.d(TAG, "onresopnse" +
"title: " + children.get(i).getTitle());
}
}
@Override
public void onFailure(Call<MenuResponse> call, Throwable t) {
Log.d(TAG, "onFailure something went wrong" + t.getMessage());
Toast.makeText(ContactUsActivity.this, "Something went wrong!", Toast.LENGTH_SHORT).show();
}
});
Api Interface kinda looks like this:
public interface ApiCallInterface {
@POST("menu")
Call<MenuResponse> getResponseData(@Query("data") String data);
}
This is my main Model class named: menuresponse
public class MenuResponse {
@SerializedName("data")
private List<Datum> mData;
public List<Datum> getData() {
return mData;
}
public void setData(List<Datum> data) {
mData = data;
}
}
from menu response Datum class:
public class Datum {
@SerializedName("childs")
private List<Child> mChilds;
@SerializedName("ID")
private Long mID;
@SerializedName("menu_item_parent")
private String mMenuItemParent;
@SerializedName("object")
private String mObject;
@SerializedName("object_id")
private String mObjectId;
@SerializedName("title")
private String mTitle;
@SerializedName("type")
private String mType;
@SerializedName("url")
private String mUrl;
public List<Child> getChilds() {
return mChilds;
}
public void setChilds(List<Child> childs) {
mChilds = childs;
}
public Long getID() {
return mID;
}
public void setID(Long iD) {
mID = iD;
}
public String getMenuItemParent() {
return mMenuItemParent;
}
public void setMenuItemParent(String menuItemParent) {
mMenuItemParent = menuItemParent;
}
public String getObject() {
return mObject;
}
public void setObject(String object) {
mObject = object;
}
public String getObjectId() {
return mObjectId;
}
public void setObjectId(String objectId) {
mObjectId = objectId;
}
public String getTitle() {
return mTitle;
}
public void setTitle(String title) {
mTitle = title;
}
public String getType() {
return mType;
}
public void setType(String type) {
mType = type;
}
public String getUrl() {
return mUrl;
}
public void setUrl(String url) {
mUrl = url;
}
}
And from Datum child class looks like this
public class Child {
@SerializedName("childs")
private List<Child> mChilds;
@SerializedName("ID")
private Long mID;
@SerializedName("menu_item_parent")
private String mMenuItemParent;
@SerializedName("object")
private String mObject;
@SerializedName("object_id")
private String mObjectId;
@SerializedName("title")
private String mTitle;
@SerializedName("type")
private String mType;
@SerializedName("url")
private String mUrl;
public List<Child> getChilds() {
return mChilds;
}
public void setChilds(List<Child> childs) {
mChilds = childs;
}
public Long getID() {
return mID;
}
public void setID(Long iD) {
mID = iD;
}
public String getMenuItemParent() {
return mMenuItemParent;
}
public void setMenuItemParent(String menuItemParent) {
mMenuItemParent = menuItemParent;
}
public String getObject() {
return mObject;
}
public void setObject(String object) {
mObject = object;
}
public String getObjectId() {
return mObjectId;
}
public void setObjectId(String objectId) {
mObjectId = objectId;
}
public String getTitle() {
return mTitle;
}
public void setTitle(String title) {
mTitle = title;
}
public String getType() {
return mType;
}
public void setType(String type) {
mType = type;
}
public String getUrl() {
return mUrl;
}
public void setUrl(String url) {
mUrl = url;
}
@Override
public String toString() {
return "Child{" +
"mChilds=" + mChilds +
", mID=" + mID +
", mMenuItemParent='" + mMenuItemParent + '\'' +
", mObject='" + mObject + '\'' +
", mObjectId='" + mObjectId + '\'' +
", mTitle='" + mTitle + '\'' +
", mType='" + mType + '\'' +
", mUrl='" + mUrl + '\'' +
'}';
}
}
So I want to get data from web service and json data has multiple childs within childs so I am totally confused Nd tried many things, but getting same error Nd onFailure so I think that problem is within mainactivity.
My goal is to get title from child class.