Не допускать экранирования параметров запроса - PullRequest
0 голосов
/ 21 февраля 2019

Конечная точка, которую мне нужно запросить, принимает ключ с именем exams, который является массивом, поэтому простой URL-адрес для запроса будет

https://example.com/api/v1/search?exams[]=6&exams[]=7&page=0

Пока это моя функция интерфейса, которая вызывает его

    @GET("search")
    Observable<CustomResponse> search(@Query("search") String query,
                                      @Query("class") int class_id,
                                      @Query("exams[]") ArrayList<Integer> examIds,
                                      @Query("page") int page);

Последний выполняемый вызов превращается в

https://example.com/api/v1/search?exams%5B%5D=6&exams%5B%5D=7&page=0

Как мне предотвратить это и отправить массив в качестве параметра запроса.Это запрос GET, а не POST.

1 Ответ

0 голосов
/ 21 февраля 2019

Попробуйте это -

@GET("search")
Observable<CustomResponse> search(@Query("search") String query,
                                  @Query("class") int class_id,
                                  @Query(value = "exams[]", encoded = true) ArrayList<Integer> examIds,
                                  @Query("page") int page);
...