如何在Spring Controller中检索FORM / POST参数?

我有以下响应,应该来自MailChimp webhook URL。

这是行BODY:

RAW BODY type=usub&fired_at=2015-07-23+17%3A19%3A34&data%5Baction%5D=unsub&data%5Breason%5D=manual&data%5Bid%5D=9383uy636&data%5Bemail%5D=youremail%40YOURDOMAIN.com&data%5Bemail_type%5D=html&data%5Bip_opt%5D=202.9.3.003&data%5Bweb_id%5D=404004&data%5Bmerges%5D%5BEMAIL%5D=YOUREMAIL%40YOURDOMAIN.com&data%5Bmerges%5D%5BFNAME%5D=NAME&data%5Bmerges%5D%5BLNAME%5D=LASTNAME&data%5Blist_id%5D=2288883 FORM/POST PARAMETERS fired_at: 2015-07-22 12:19:34 data[email]: YOUREMAIL@DOMAINNAME.com data[id]: 56775409ta data[web_id]: 09833944 data[merges][EMAIL]: YOUREMAIL@DOMAINNAME.com type: unsub data[list_id]: 99884hy372 data[merges][FNAME]: Name data[ip_opt]: 202.0.9.3333 data[reason]: manual data[email_type]: html data[action]: unsub data[merges][LNAME]: LastName **QUERYSTRING key: a4483983hu473004884j0x** HEADERS Accept: */* Total-Route-Time: 0 Host: requestb.in Connection: close Content-Length: 395 User-Agent: MailChimp.com Connect-Time: 0 Via: 1.1 vegur X-Request-Id: 6633d8-653e-4cea-884j-9933ju4773h Content-Type: application/x-www-form-urlencoded 

我之前在使用Spring Controllers时使用过@RequestParameter ,但是我不知道如何从上面的响应中获取数据 ,例如data [merges] [FNAME]

我怎样才能在Spring控制器中获取QueryString? QUERYSTRING键:a4483983hu473004884j0x

 //I have the following code to begin with @RequestMapping("/unsubscribewebhook") public ZapJasonMessage unsubscribeWebHook( @RequestParam("key") String key, @RequestParam ("data[merges][FNAME]") String firstName ) { } 

我感谢您的帮助!

您只需将WebRequest作为参数注入控制器POST方法,然后使用Mailchimp webhook中的给定参数请求getParameter()。

例如:

 @RequestMapping(path="/MyUrl", method=RequestMethod.POST) public ModelAndView process(WebRequest request){ System.out.println(request.getParameter("type")); System.out.println(request.getParameter("data[merges][EMAIL]")); return new ModelAndView([YOURVIEWHERE]); } 

就这样…

问候。