我有一个GRAILS 3 Controller ,它从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是否可以解析“有效负载”部分并将其动态转换为POJO(或简单的哈希映射)Chargify使用GRAILS framework无法识别的这种奇怪格式,因此我无法自动对其进行解析。

有没有人可以帮助我进行解析?预先感谢您的帮助。

最佳答案

你可以试试这个吗?

def readChargify() {
    String requestData = request.reader.text
    def reqMap = org.grails.web.util.WebUtils.fromQueryString(requestData)
}

关于java - 用GRAILS解析FORM-ENCODED参数(对Webhooks充电),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36286567/

10-13 07:22