Как правильно анализировать значения из этой строки тела POST (возвращается из spark.RequestWrapper.getBody())

Извините, если это дубликат. Я искал здесь spark.RequestWrapper.getBody() и не смог найти то, что искал. По сути, когда я делаю почтовый запрос с тремя значениями тела (name="Something, id="Something", someNumber=1), затем вызываю getBody(), я получаю следующее.

------WebKitFormBoundaryAFbSXBcWNVOAmQFo
Content-Disposition: form-data; name="name"

"Something"
------WebKitFormBoundaryAFbSXBcWNVOAmQFo
Content-Disposition: form-data; name="id"

"Something"
------WebKitFormBoundaryAFbSXBcWNVOAmQFo
Content-Disposition: form-data; name="someNumber"

1
------WebKitFormBoundaryAFbSXBcWNVOAmQFo--

Я считаю, что это на самом деле происходит от IOUtils.toByteArray(servletRequest.getInputStream()) и преобразуется в строку. Учитывая, что это из servletRequest, я решил, что это довольно распространенная проблема, но пока не нашел библиотеки или решения.

Заранее спасибо за помощь!

P.S. - Если это дубликат, мои извинения. Не стесняйтесь отмечать это, и я буду в пути!

Изменить - не Apache Spark. Этот: http://sparkjava.com/


person Brad Cypert    schedule 18.09.2015    source источник
comment
что отправляет ваш клиент. мой тип, контент-тип.   -  person dom farr    schedule 08.10.2015
comment
Вы пытаетесь обработать запрос, состоящий из нескольких частей? Если да, то это, вероятно, то, что вы ищете: stackoverflow.com/q/29373468/396092   -  person vandershraaf    schedule 08.12.2015


Ответы (1)


Когда вы объявляете маршрут, вы объявляете параметр для доступа к запросу. Используйте это, чтобы получить тело запроса, например request.body() или request.bodyAsBytes(), как это делается в документация. Если вы все еще не можете получить лучший формат, вам придется отформатировать его самостоятельно в своем клиентском приложении. Лучшим типом контента для этого будет application-json.

person Laercio Metzner    schedule 18.12.2015