Получить параметры формы из почтового запроса, используя спрей/скала

Я действительно новичок во всем этом Scala/Spray. После некоторого тестирования мне удалось получить параметры из запроса Get с помощью функции параметров. Однако я пытаюсь получить некоторые параметры, отправленные из запроса POST в теле запроса. Похоже, что функция параметров не может получить эти значения.

Например, я пытаюсь получить эти значения «имя=джон&фамилия=смит» из тела почтового запроса. Каков наилучший вариант для получения этих значений?

Спасибо


person Mike    schedule 14.10.2011    source источник
comment
сможете ли вы использовать Request.QueryString(name)?   -  person DayDream    schedule 14.10.2011
comment
Это не сработает, если параметр отсутствует в строке запроса.   -  person Don Roby    schedule 15.10.2011


Ответы (3)


Действительно, директива parameters обрабатывает только то, что действительно находится в строке запроса, а не параметры. в теле запроса. Чтобы получить вещи из тела, вам нужно будет использовать директиву content, а затем unmarshal содержимое.

Этот распылитель-пользователь может оказаться полезным, так как он содержит некоторый неупорядоченный код, делающий именно то, что вы ищете.

person Don Roby    schedule 15.10.2011
comment
К вашему сведению, директива content недавно была переименована в entity. Кроме того, как говорится в другом ответе, есть директива formFields, которая позволяет извлекать данные из данных POST. - person jrudolph; 19.09.2013

Вы можете использовать [Form-Field-Filters] для извлечения параметров из POST.

[Form-Field-Filters] https://github.com/spray/spray/wiki/Form-Field-Filters

person Edi    schedule 04.01.2012

В последних версиях Spray вам нужно использовать Unmarshaller вместо FormData.

person Robin Green    schedule 15.09.2015