微信公众号回调接口HttpServletRequest 操作
2016-09-10 13:57
246 查看
微信公众号回调接口,解析参数
1、获取request 参数
2、map 转json
3、读取request
4、解析读取request内容,将xml格式的字符串解析成map(针对子节点中没有重复的节点名)
xmlDoc为parse方法读取到的request内容,解析为map
requestInputMap.get(key);获取参数
1、获取request 参数
Map<?, ?> parameterMap = request.getParameterMap();
2、map 转json
JSONObject requestParam = JSONObject.fromObject((parameterMap==null||parameterMap.isEmpty())?"{}":parameterMap);
3、读取request
private String parse(HttpServletRequest request) { BufferedReader buf = null; try { buf = new BufferedReader(new InputStreamReader(request.getInputStream(),"UTF-8")); StringBuilder sb = new StringBuilder(); String line = null; while (null != (line = buf.readLine())) { sb.append(line); } if (sb.length() > 0) { return sb.toString(); } } catch (Exception e) { log.error("weimob parse request error!", e); return null; } finally { try { buf.close(); } catch (Exception e) { log.error("weimob parse request error!", e); } } return null; }
4、解析读取request内容,将xml格式的字符串解析成map(针对子节点中没有重复的节点名)
xmlDoc为parse方法读取到的request内容,解析为map
private Map<String, String> parseXMl(String xmlDoc) throws Exception { if (StringUtils.isBlank(xmlDoc)) { return null; } StringReader xmlString = new StringReader(xmlDoc); // 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入 InputSource source = new InputSource(xmlString); // 创建一个新的SAXBuilder SAXBuilder saxb = new SAXBuilder(); // 通过输入源构造一个Document Document doc = saxb.build(source); Element root = doc.getRootElement(); // 得到根元素所有子元素的集合 List<?> node = root.getChildren(); Map<String, String> m = new HashMap<String, String>(); if (node.size() > 0) { for (int i = 0; i < node.size(); i++) { Element el = (Element) node.get(i); m.put(el.getName(), el.getText()); } } else { m.put(root.getName(), root.getText()); } return m; }
requestInputMap.get(key);获取参数
相关文章推荐
- HttpServletRequest接口的getSession方法
- HttpServletRequest接口
- HttpServletRequest接口的getSession方法
- HttpServletRequest接口是怎么实现的
- HttpServletRequest接口学习
- rest接口中如何获取HttpServletRequest
- 四、HttpServletRequest接口
- java web给手机端写接口HttpServletRequest ,HttpServletResponse
- Servlet--HttpServletRequest接口,HttpServletResponse接口
- http操作,模拟第三方接口回调通知
- HttpServletRequest接口
- HttpServletRequest接口功能
- HttpServletRequest和HttpServletResponse接口的方法
- Servlet--HttpServletRequest接口,HttpServletResponse接口
- javax.servlet.http.HttpServletRequest接口(HTTP版本)
- HttpServletRequest接口实例化的使用
- springMVC编写服务接口——四种入参方式(@PathVariable、@RequestParam、@RequestBody、HttpServletRequest)
- Servlet(6)—HttpServletRequest接口和HttpServletResponse接口
- HttpServletRequest接口
- Servlet技术浅析(三)之-----ServletRequest接口和HttpServletRequest接口