我想使用Retrofit执行批量请求。它有什么好方法,如何实现它?基本上我要做的是替换URL的查询部分中的一些字符(仅在URL的路径部分中使用替换块 - 使用@Path
注释)。
这是我的问题的伪代码。
@GET("/v2/multi?requests=/users/self,/venues/search?client_id={client_id}&client_secret={client_secret}&v={v}&ll={ll}&intent={intent}&limit={limit}")
ProfileSearchVenuesResponse searchVenuesAndProfiles(@ReplaceBy("client_id") String clientId,
@ReplaceBy("client_secret") String clientSecret,
@ReplaceBy("v") int version,
@ReplaceBy("ll") String location,
@ReplaceBy("intent") String intent,
@ReplaceBy("limit") int limit);
答案 0 :(得分:9)
@Query
正是您所寻找的:
@GET("/v2/multi?requests=/users/self,/venues/search")
ProfileSearchVenuesResponse searchVenuesAndProfiles(
@Query("client_id") String clientId,
@Query("client_secret") String clientSecret,
@Query("v") int version,
@Query("ll") String location,
@Query("intent") String intent,
@Query("limit") int limit);
在Retrofit 1.7.0版(昨天发布)中,尝试在原始问题中使用@Path
的异常消息指示您正确的解决方案:
网址查询字符串" client_id = {client_id}& client_secret = {client_secret}& v = {v}& ll = {ll}& intent = {intent}& limit = {limit} "一定不能有替换块。对于动态查询参数,请使用@Query。