为了账号安全,请及时绑定邮箱和手机立即绑定

ajax application/json传入后台,拦截器怎么获取参数且不破坏

ajax application/json传入后台,拦截器怎么获取参数且不破坏

芜湖不芜 2019-02-19 21:12:55
如题:  前端传入代码:      $("#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


查看完整回答
反对 回复 2019-02-21
  • 1 回答
  • 0 关注
  • 629 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号