【发布时间】:2018-09-01 20:40:59
【问题描述】:
我试图使用 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("/api/data")
Observable<APIResponse> getData(@Query("state") String state,
@Query("filters") RequestBody filter);
但请求仍然很糟糕。请帮忙。
【问题讨论】:
-
查询参数中的状态是强制性的吗?
-
state在您的ReferralRequestBody中的哪个位置? -
看看 jsonschema2pojo.org 为 Retrofit/Gson 制作课程
-
查询?但该格式是 json...如果您要发送 JSON 对象,则需要将其设为帖子,否则您需要将过滤器和状态作为查询参数放置。
-
这就是我现在尝试发送请求的方式。这是一个带有查询参数的获取请求。我需要将过滤器作为查询参数发送。 @GET("/api/data") Observable
getData(@Query("state") String state, @Query("filters") ReferralRequestBody filter);
标签: android json retrofit okhttp get-request