【发布时间】:2016-07-17 03:25:00
【问题描述】:
我有一个 GRAILS 3 控制器,它从 web 服务 (Chargify) 接收具有这种格式的 HTTP 帖子(有效负载部分有大约 100 个条目和很多子字段):
POST / HTTP/1.1
Accept: */*; q=0.5, application/xml
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
X-Chargify-Webhook-Id: 81309408
X-Chargify-Webhook-Signature: xxxxxxxxxxxxx
X-Chargify-Webhook-Signature-Hmac-Sha-256: yyyyyyyyyyyyyy
Content-Length: 48
User-Agent: Ruby
X-Newrelic-Id: xxxxxx
X-Newrelic-Transaction: aaaaaaaaaaaaaa=
Host: myhost.test.it
id=81197881&event=statement_settled&payload[site][id]=12345&payload[site][subdomain]=test-sandbox
GRAILS 有什么方法可以解析“payload”部分并将其动态转换为 POJO(或简单的 hashmap)? Chargify 使用GRAILS framework 无法识别的这种奇怪格式,我无法自动解析它。
有人帮我解析吗?提前感谢您的帮助。
【问题讨论】:
-
为了确保我理解正确.. 示例末尾以 ID 开头的部分是 Post 请求的正文,还是 URL 的一部分?
-
是请求的正文
-
我没有看到任何内置方法可以自动将请求正文解析为 pogo。您是否愿意接受其他选择?