如题: 前端传入代码: $("#button").click(function(){ var user = {"name":"张三","age":9,"key":"xx"};$.ajax({ url:"http://localhost:8080/mybatis/insert", contentType : 'application/json', type : "POST", dataType: 'json', data: JSON.stringify(user), success : function(data) { alert(data.result); }});拦截器: @Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse arg1, Object arg2) throws Exception { System.out.println("我拦截了"); // 不能使用 request.getReader(); 和流的方式获取(流只能取一次,导致后台获取不到参数),request.getParameter();获取不到 json格式参数 return true;}后台:@RequestMapping("/insert")public Map<String, Object> insert(@RequestBody User user){ service.insert(user); Map<String, Object> result = new HashMap<>(); result.put("result", "success"); return result;},请问谁有办法在不破坏后台:流和@RequestBody情况下,在拦截器里面获取我前台传入的key?
1 回答

红糖糍粑
TA贡献1815条经验 获得超6个赞
RequestBody
和 ResponseBody
只能被读取一次,故而不要在 interceptor
中进行读取操作. 具体的解释和解决方法和移步这里Spring REST service: retrieving JSON from Request
添加回答
举报
0/150
提交
取消