我试图使用Retrofit
从rest api获取数据。 api是get
请求,查询参数应为形式
{state: 'state', filters: {page: 1, filter: ''}}
我尝试创建一个Filter类,并在下面的
中注释相同的Request body类public class ReferralRequestBody {
@SerializedName("filters")
@Expose
private Filter filter;
public Filter getFilter() {
return filter;
}
public void setFilter(Filter filter) {
this.filter = filter;
}
}
这就是我现在尝试发送请求的方法。这是一个带查询参数的get请求。我需要将Filter作为查询参数发送。
@GET("/api/data")
Observable<APIResponse> getData(@Query("state") String state,
@Query("filters") RequestBody filter);
但请求仍然很糟糕。请帮忙。
答案 0 :(得分:2)
创建以下模型类
C
另外,创建这个,
public class ReferralRequestBody {
@SerializedName("state")
@Expose
private String state;
@SerializedName("filters")
@Expose
private Filters filters;
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public Filters getFilters() {
return filters;
}
public void setFilters(Filters filters) {
this.filters = filters;
}
}
然后设置状态数据,像
一样过滤public class Filters {
@SerializedName("page")
@Expose
private Integer page;
@SerializedName("filter")
@Expose
private String filter;
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public String getFilter() {
return filter;
}
public void setFilter(String filter) {
this.filter = filter;
}
}
并将该函数调用为,
ReferralRequestBody referralrequestbody=new ReferralRequestBody();
referralrequestbody.setState("state");
Filters filters=new Filters();
filters.setPage("page data");
filters.setFilter("filter data");