Получить пары ключ-значение из тела POST в Restlets - PullRequest
0 голосов
/ 06 октября 2010

Это может быть или не быть самым глупым вопросом в истории.

Я использую Рестлет. Когда клиент (которым я не управляю) отправляет POST на URL, я могу вызвать функцию:

representation.getText();

, который создает следующий пример списка пар ключ-значение в строковой форме:

CallStatus=in-progress&CallerCountry=US&CalledZip=24013&ApiVersion=2008-08-01&CallerCity=ARLINGTON&CalledCity=ROANOKE&CallSegmentGuid=&CalledCountry=US&DialStatus=answered&CallerState=VA&CalledState=VA&CallerZip=22039

Как я могу получить доступ к этим данным в виде Карты пар ключ-значение в Restlet?

ОТВЕТ:

Form newForm = new Form(getRequest().getEntity());

1 Ответ

3 голосов
/ 06 октября 2010

Ознакомьтесь с этими примерами, цитируемыми restlet.org (форма похожа на карту):

Получение значений из веб-формы

Веб-форма находится вФактически сущность запроса POST отправляется на сервер, таким образом, у вас есть доступ к нему через request.getEntity ().Существует ярлык, который позволяет получить список всех полей ввода:

Form form = request.getEntityAsForm();
for (Parameter parameter : form) {
  System.out.print("parameter " + parameter.getName());
  System.out.println("/" + parameter.getValue());
}

Получение значений из запроса

Запрос является частью идентификатора (URI) запросаресурс.Таким образом, у вас есть доступ к нему через request.getResourceRef (). GetQuery ().Существует ярлык, который позволяет получить список всех пар «ключ = значение»:

Form form = request.getResourceRef().getQueryAsForm();
for (Parameter parameter : form) {
  System.out.print("parameter " + parameter.getName());
  System.out.println("/" + parameter.getValue());
} 
...