@Test public void queryMapSupportsSubclasses() { class Foo extends HashMap<String, String> { } class Example { @GET("/") // Call<ResponseBody> method(@QueryMap Foo a) { return null; } } Foo foo = new Foo(); foo.put("hello", "world"); Request request = buildRequest(Example.class, foo); assertThat(request.url().toString()).isEqualTo("http://example.com/?hello=world"); }
@Test public void queryMapRejectsNullValues() { class Example { @GET("/") // Call<ResponseBody> method(@QueryMap Map<String, String> a) { return null; } } Map<String, String> queryParams = new LinkedHashMap<>(); queryParams.put("ping", "pong"); queryParams.put("kit", null); try { buildRequest(Example.class, queryParams); fail(); } catch (IllegalArgumentException e) { assertThat(e).hasMessage("Query map contained null value for key 'kit'."); } }
@GET("suggest") Call<Suggestions> getSuggestions(@QueryMap Map<String, String> serviceIds, @Query("tag") String tag, @Query("limit") Integer limit, @Query("type") String type, @Query("timezone") String utcOffset, @Query("allterms") boolean isAllTerms);
@GET("music/{provider}?net=mob&pt=e") Call<Void> getTrackLocationMJCK(@Header("X-Device-ID") String androidID, @Path("provider") Provider provider, @Query("opt") StreamQuality quality, @Query("slt") String salt, @Query("sig") String signature, @Query("mjck") String trackID, @QueryMap Map<String, String> kwargs);
@Test public void queryMapRejectsNull() { class Example { @GET("/") // Call<ResponseBody> method(@QueryMap Map<String, String> a) { return null; } } try { buildRequest(Example.class, new Object[] { null }); fail(); } catch (IllegalArgumentException e) { assertThat(e).hasMessage("Query map was null."); } }
/** * 下载文件 * @param url * @param headerMap * @param txtParamMap * @return */ @Streaming @GET Call<ResponseBody> executeDownload( @Url String url, @HeaderMap Map<String, String> headerMap, @QueryMap Map<String, String> txtParamMap );
@GET("music/{provider}?net=mob&pt=e") Call<Void> getTrackLocationSongId(@Header("X-Device-ID") String androidID, @Path("provider") Provider provider, @Query("opt") StreamQuality quality, @Query("slt") String salt, @Query("sig") String signature, @Query("songid") String trackID, @QueryMap Map<String, String> kwargs);
@GET("RecursosDisponible/") Observable<ReserveAvailabilityResponse> getReservesAvailability(@QueryMap Map<String,String> filters, @Query("CodAlumno") String userCode, @Query("Token") String token);
@GET("customers") Call<List<CustomerModel>> get(@QueryMap Map<String, String> options);
@GET("customers/{id}") Call<CustomerModel> get(@Path("id") int id, @QueryMap Map<String, String> options);
@GET("services") Call<List<ServiceModel>> get(@QueryMap Map<String, String> options);
@GET(TRANSACTION_SEARCH_PATH) Call<SearchResponse> transactionSearch( @Path("transaction_type") String transaction_type, @QueryMap Map<String, String> parameters);
@GET("providers/{id}") Call<ProviderModel> get(@Path("id") int id, @QueryMap Map<String, String> options);
@GET("user/login") Observable<HttpResponse> login(@QueryMap Map<String, Object> request);
@GET() Call<String> get(@HeaderMap Map<String, String> headers, @Url String url, @QueryMap Map<String, String> params);
@POST("{url}") Call<ResponseBody> createCommitResponseBody(@Url String url, @QueryMap Map<String, String> options);
@GET(Endpoints.USER_TOP_ARTISTS) Single<Response<ArtistPage>> fetchUserTopArtists(@Query("user") String user, @QueryMap Map<String,Object> options);
@GET(Endpoints.TRACKS) Single<Page<TrackEntity>> searchTracksPage(@QueryMap Map<String,Object> options);
@GET(Constants.FanFou.USER_FRIENDS_URL) Observable<HttpResponseData<List<UserRes>>> getFriends(@QueryMap Map<String, String> queryMap);
/** download */ @Streaming @Headers({ "User-Agent: pcProgram" }) @GET("DownloadServlet") Call<ResponseBody> requestFileDataDownload(@QueryMap Map<String, String> parameters);
@GET("{url}") Observable<BaseCallModel> createRx2(@Url String url, @QueryMap Map<String, String> options);
@GET Call<String> get(@Url String url, @QueryMap WeakHashMap<String, Object> params);
@GET(Endpoints.USER_WEEKLY_ARTIST) Single<Response<AlbumPage>> fetchUserWeeklyArtistChart(@Query("user") String user, @QueryMap Map<String,Object> options);
/** * 获取小说章节列表 */ @GET("/v1/books/{bookId}/chapters") Observable<HttpResult<List<BookSectionItem>>> getBookSectionList(@Path("bookId") String bookId, @QueryMap HashMap<String, Object> map);
@GET(Constants.FanFou.USER_SHOW_URL) Observable<HttpResponseData<UserRes>> getUserInfo(@QueryMap Map<String, String> queryMap);
@GET("/v2/blog/{id}/posts/{type}") Call<BaseBean<BlogPosts>> getBlogPosts(@Path("id") String id, @Path("type") String type, @QueryMap HashMap<String, String> hashMap);
@GET() Observable<Object> getAnswersRxTest(@Url String endPath, @QueryMap Map<String, Object> options);
/** download */ @Streaming @Headers({ "User-Agent: androidProgram" }) @GET("DownloadServlet") Call<ResponseBody> requestFileDataDownload(@QueryMap Map<String, String> parameters);
@GET Observable<String> get(@Url String url, @QueryMap WeakHashMap<String, Object> params);
@GET("/v3/businesses/search") Call<SearchResponse> getBusinessSearch(@QueryMap Map<String, String> params);
@POST("acopios/{acopioId}/productos") Observable<Producto> addProducto(@Path("acopioId") String acopioId, @QueryMap Map<String, String> params, @Body Aceptan aceptan);
@GET(Endpoints.PLAYLISTS) Single<Page<PlaylistEntity>> searchPlaylistsPage(@QueryMap Map<String,Object> options);
@PUT("me") Flowable<Response<Me>> updateProfile(@QueryMap Map<String, Object> params);
@GET() Observable<String> Obget(@HeaderMap Map<String, String> headers, @Url String url, @QueryMap Map<String, String> params);
@GET("photos") Flowable<Response<List<Photos>>> photos(@QueryMap Map<String, Object> params);
@DELETE Observable<String> delete(@Url String url, @QueryMap Map<String, Object> params, @HeaderMap Map<String, Object> header);
@HEAD() Observable<ResponseBody> head(@Url String url, @QueryMap Map<String, String> maps);
@GET Observable<String> get(@Url String url, @QueryMap Map<String, Object> params, @HeaderMap Map<String, Object> header);
@GET("productos") Observable<List<Producto>> searchProducto(@QueryMap Map<String, String> params);