Разбор параметров с помощью Java Restlet - PullRequest
1 голос
/ 12 апреля 2010

Я пытаюсь сделать веб-сервис калькулятора, который имеет более 10 параметров. Есть ли какая-либо функция в Java Restlet или в самой Java, которая позволяет вам видеть идентификаторы параметров?

например. http://mywebsite.com/calculator?id1=value1&id2=value2&id3=value3 => Я пытаюсь получить доступ к значениям id1, id2 и id3, чтобы мне не требовалось, чтобы люди, использующие веб-сервис, вводили все параметры (некоторые из них, вероятно, будут 0 ).

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Внутри вашего Restlet вы можете получить параметры запроса, используя:

this.getRequest().getResourceRef().getQueryAsForm()

Объект, полученный из этого вызова, обеспечивает доступ ко всем параметрам запроса, либо по имени, либо по индексу.

Если для каждого параметра запроса, который я обычно использую, должно быть только одно значение:

String value1 = this.getRequest().getResourceRef().getQueryAsForm().getFirstValue("id1", true);

Значение true в конце указывает, что имя параметра не учитывает регистр.

0 голосов
/ 13 апреля 2010

Не знаком с реслетами. Однако, если у вас есть доступ к объекту HttpServletRequest, вы можете использовать метод getParameterMap . Этот метод вернет карту, которая позволит вам получить доступ к именам параметров, используя метод getKeySet. Обязательно обратите внимание, что возвращаемая Карта использует строку массив в качестве типа значения, а не обычную строку (это позволяет увидеть несколько параметров с одинаковым именем).

...