use of retrofit2.http.Query in project retrofit by square.
the class RequestBuilderTest method queryParamMapsConvertedToNullShouldError.
@Test
public void queryParamMapsConvertedToNullShouldError() throws Exception {
class Example {
@GET("/query")
Call<ResponseBody> queryPath(@QueryMap Map<String, String> a) {
return null;
}
}
Retrofit.Builder retrofitBuilder = new Retrofit.Builder().baseUrl("http://example.com").addConverterFactory(new NullObjectConverterFactory());
Map<String, String> queryMap = Collections.singletonMap("kit", "kat");
try {
buildRequest(Example.class, retrofitBuilder, queryMap);
fail();
} catch (IllegalArgumentException e) {
assertThat(e).hasMessageContaining("Query map value 'kat' converted to null by retrofit2.helpers.NullObjectConverterFactory$1 for key 'kit'.");
}
}
use of retrofit2.http.Query in project retrofit by square.
the class RequestBuilderTest method getWithPathAndQueryAmpersandParam.
@Test
public void getWithPathAndQueryAmpersandParam() {
class Example {
//
@GET("/foo/bar/{ping}/")
Call<ResponseBody> method(@Path("ping") String ping, @Query("kit") String kit) {
return null;
}
}
Request request = buildRequest(Example.class, "pong&", "kat&");
assertThat(request.method()).isEqualTo("GET");
assertThat(request.headers().size()).isZero();
assertThat(request.url().toString()).isEqualTo("http://example.com/foo/bar/pong&/?kit=kat%26");
assertThat(request.body()).isNull();
}
use of retrofit2.http.Query in project retrofit by square.
the class RequestBuilderTest method getWithUrlThenQuery.
@Test
public void getWithUrlThenQuery() {
class Example {
@GET
Call<ResponseBody> method(@Url String url, @Query("hey") String hey) {
return null;
}
}
Request request = buildRequest(Example.class, "foo/bar/", "hey!");
assertThat(request.method()).isEqualTo("GET");
assertThat(request.headers().size()).isZero();
assertThat(request.url().toString()).isEqualTo("http://example.com/foo/bar/?hey=hey%21");
}
use of retrofit2.http.Query in project retrofit by square.
the class RequestBuilderTest method getWithQueryParamPrimitiveArray.
@Test
public void getWithQueryParamPrimitiveArray() {
class Example {
//
@GET("/foo/bar/")
Call<ResponseBody> method(@Query("key") int[] keys) {
return null;
}
}
int[] values = { 1, 2, 3, 1 };
Request request = buildRequest(Example.class, new Object[] { values });
assertThat(request.method()).isEqualTo("GET");
assertThat(request.headers().size()).isZero();
assertThat(request.url().toString()).isEqualTo("http://example.com/foo/bar/?key=1&key=2&key=3&key=1");
assertThat(request.body()).isNull();
}
use of retrofit2.http.Query in project retrofit by square.
the class RequestBuilderTest method getWithQueryParam.
@Test
public void getWithQueryParam() {
class Example {
//
@GET("/foo/bar/")
Call<ResponseBody> method(@Query("ping") String ping) {
return null;
}
}
Request request = buildRequest(Example.class, "pong");
assertThat(request.method()).isEqualTo("GET");
assertThat(request.headers().size()).isZero();
assertThat(request.url().toString()).isEqualTo("http://example.com/foo/bar/?ping=pong");
assertThat(request.body()).isNull();
}
Aggregations