接收http请求body中的json数据 和text类型

 看到网易的回调内容,平时都是这样写的:https://blog.csdn.net/lwang_IT/article/details/81663403,不成功,最后发现文档中注意事项:

下面是解决办法:

(1).原生servlet获取
http body通过读取input流可以得到

br = new BufferedReader(new InputStreamReader((ServletInputStream) request.getInputStream(), "utf-8"));
StringBuffer sb = new StringBuffer("");
String temp;
while ((temp = br.readLine()) != null) { 
  sb.append(temp);
}
br.close();
params = sb.toString();

如果body中传递的是json,得到字符串之后,再反序列化成json对象就可以了。

注意:如果body中传递的不标准的json是一串字符串(本人遇到的坑).则只能使用上述方法。

(2).springmvc获取
SpringMVC中有一个@RequestBody
注解,就是用来将请求body中的json转换为java对象的,不仅转换普通的java bean,也可以是List,很方便

@RequestMapping(value = "/query", method = RequestMethod.POST)
public ModelAndView queryList( @RequestBody User user) { 
}

猜你喜欢

转载自blog.csdn.net/lwang_IT/article/details/81663025
今日推荐