1. 程式人生 > >接收http請求body中的json資料 和text型別

接收http請求body中的json資料 和text型別

下面是解決辦法:

(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) { 
}