我有一个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是否有任何方法可以解析"有效载荷"部分,并将其动态转换为POJO(或简单的哈希图)?。Chargify
使用了GRAILS framework
无法识别的奇怪格式,我无法自动解析它。
有人帮我解析吗?提前感谢您的帮助。
你能试试这个吗?
def readChargify() {
String requestData = request.reader.text
def reqMap = org.grails.web.util.WebUtils.fromQueryString(requestData)
}
这个解析webhook主体的Java库是由另一位Chargify客户提供的,可能会有所帮助:
https://github.com/prowave/chargify-webhook-java