I try to deal with the REST API Client, I use the Retrofit & Robospice combination, I want to look at the request that is sent to the service. Can I pull a string from robospice or retrofit?

My interface:

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); 

SpiceRequestService

 public class SampleRetrofitSpiceService extends RetrofitGsonSpiceService { @Override public void onCreate() { super.onCreate(); addRetrofitInterface(GoogleSearchInterface.class); } @Override protected String getServerUrl() { return GoogleSearchInterface.BASE_URL; } 

SpiceRequest

 public class SampleRetrofitSpiceRequest extends RetrofitSpiceRequest<GoogleSearchResponse,GoogleSearchInterface> { 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); } 

Request call method

  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; } 

    1 answer 1

    In the custom SpiceService, you had to override the method:

      @Override protected RestAdapter.Builder createRestAdapterBuilder() { RestAdapter.Builder builder = new RestAdapter.Builder() .setLogLevel(RestAdapter.LogLevel.BASIC) .setConverter(getConverter()) .setEndpoint(getServerUrl()); return builder; }