如何获取发送到robospice改造的请求字符串URL? [英] How can I get request string URL that sent to robospice retrofit?
问题描述
我搜索了但没有找到有用的信息.尝试处理REST API客户端时,我将robospice与retofit结合使用,我想查看发送到服务的请求字符串.是否可以从Robospice或Retrofit提取整个字符串URL?
I searched but did not find a helpful information. Trying to deal with the REST API Client, I am use robospice in conjunction with retofit, I want to look at the request string that is sent to the service. Is it possible to pull an entire string URL from Robospice or Retrofit?
这是我的界面:
public interface GoogleSearchInterface {
public static final String BASE_URL = "https://www.googleapis.com/customsearch";
public static final String API_KEY = "AIzaSyCCuxxVLzm2sZP-adhRNYKeSck1mMMgsAM";
public static final String CUSTOM_SEARCH_ID = "001734592082236324715:sob9rqk49yg";
public static final String SEARCH_TYPE_IMAGE = "image";
static final String FILTER = "&fields=queries(nextPage(startIndex,count),request(startIndex,count)),searchInformation(totalResults),items(title,link,displayLink,mime," +
"image)";
static final String QUERY = "/v1?key="+API_KEY+
"&cx="+CUSTOM_SEARCH_ID+
"&searchType="+SEARCH_TYPE_IMAGE+FILTER;
@GET(QUERY)
public GoogleSearchResponse search(@Query("q") String query,
@Query("start") long startIndex);
@GET(QUERY)
public GoogleSearchResponse search(@Query("q") String query,
@Query("start") long startIndex,
@Query("searchType") String searchType,
@Query("limit") String limit,
@Query("offset") String offset);
SpiceRequest
SpiceRequest
String query;
long startIndex;
String limit;
String offset;
public SampleRetrofitSpiceRequest(String query,long startIndex,String limit,String offset) {
super(GoogleSearchResponse.class,GoogleSearchInterface.class);
this.query = query;
this.startIndex = startIndex;
this.limit=limit;
this.offset=offset;
}
public SampleRetrofitSpiceRequest(String query, long startIndex) {
super(GoogleSearchResponse.class, GoogleSearchInterface.class);
this.query = query;
this.startIndex = startIndex;
}
@Override
public GoogleSearchResponse loadDataFromNetwork() throws Exception {
return getService().search(query,startIndex);
}
SpiceService
SpiceService
public class SampleRetrofitSpiceService extends RetrofitGsonSpiceService {
@Override
public void onCreate() {
super.onCreate();
addRetrofitInterface(GoogleSearchInterface.class);
}
@Override
protected String getServerUrl() {
return GoogleSearchInterface.BASE_URL;
}
发送请求的方法
public void sendRequest(String query,int page){
searchQuery = query;
request = new SampleRetrofitSpiceRequest(query, page);
spiceManager.execute(request, query, DurationInMillis.ONE_WEEK, new RequestImageListener());
/* try {
spiceManager.getFromCache(GoogleSearchResponse.class, "country",DurationInMillis.ONE_WEEK,new RequestImageListener());
}catch(Exception e){
e.printStackTrace();
}*/
request=null;
}
P.S.我正在编写一个将进行图像搜索的应用程序,成功加载了前10个结果,但是下一页正在重复上一页.我要花很多时间在spiceRequst中发送的Google api的& start参数被忽略.谢谢.
P.S. I'm writing an application that will make image search, first 10 result successfully loading but next page is repeating previous page. I fight with this lot of time, &start parameter of google api that sent in spiceRequst is ignored. Thank you.
推荐答案
解决方案是在 custom SpiceService.class
@Override
protected RestAdapter.Builder createRestAdapterBuilder() {
RestAdapter.Builder builder = new RestAdapter.Builder()
.setLogLevel(RestAdapter.LogLevel.BASIC)
.setConverter(getConverter())
.setEndpoint(getServerUrl());
return builder;
}
这篇关于如何获取发送到robospice改造的请求字符串URL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!