Аннотации Android: параметры запроса добавляются в URL?
@Get("/ServiceTest?version=1&dateRange={dateRange}")
ResponseModel getDateRangeTest(String dateRange);
в интерфейсе RestClient это делает следующее Get
http://localhost:8080/ServiceTest/2014-01-29%25202014-01-29?version=1" resulted in 400 (Bad Request); invoking error handler
Я делаю что-то не так при отправке параметров запроса.
Я хочу обратиться таким образом:
/ServiceTest?version=1&dataRange=2014-01-29%25202014-01-29
Который в этом случае почему-то мне не удалось сгенерировать с помощью аннотаций Android @Get
Ответ: Мои звонки не были правильными, и основная проблема была с URI-кодировкой, правильный -
/ServiceTest?version=1&dataRange=2014-01-29%202014-01-29
1 ответ
Вы могли бы сделать неправильно.
Ваш сервер получит /ServiceTest
но вы получаете доступ к серверу с адресом /ServiceTest/2014-01-29%25202014-01-29
Будьте внимательны, ваш сервер получает как /ServiceTest? Version = 1 & dateRange ={dateRange}, а {dataRange} - это то, что вы намереваетесь предоставить в качестве переменной.
Ваш адрес должен быть /ServiceTest?version=1&dataRange=2014-01-29%25202014-01-29
== РЕДАКТИРОВАТЬ ==
Я не знаком с Android Получить аннотацию, но попробуйте это.
@Get("/ServiceTest?version=1&dateStart={dateStart}&dateEnd={dateEnd}")
ResponseModel getDateRangeTest(String dateStart, String dateEnd);
и доступ с /ServiceTest?version=1&dataStart=2014-01-29&dateEnd=2014-01-29
Обратите внимание, что я меняю аргумент на более конкретный. и это был бы лучший подход.