出現該問題的背景
本人最近做一個項目,前端傳給后端的是json格式,使用request.getParameter("字段名")獲取不到數據,雖說@RequestBody可以處理application/json類型,
但是由於一些需求,@RequestBody在此處不太適用,因此只能另想他法。
解決方法:
使用字節流還是字符流,考慮到json串屬於字符串,因此在此處選擇使用字符流,代碼如下:
StringBuffer stringBuffer=new StringBuffer(); int len; char[] buffer=new char[1024]; try{ BufferedBuffer reader=request.getReader(); while((len=reader.read(buffer))!=-1){ stringBuffer.append(buffer,0,len); } }catch(IOException e){ e.printStackTrace(); }
使用@RequestBody解決:(@RequestBody String string)接收前端傳來的application/json類型的數據