详解springmvc 接收json对象的两种方式

最近学习了springmvc 接收json对象的两种方式,现在整理出来,具体如下: 

1、以实体类方式接收

前端 ajax 提交数据:

function fAddObj() {
  var obj = {};
  obj['objname'] = "obj";
  obj['pid'] = 1 ;

  $.ajax({
    url: 'admin/Obj/addObj.do',
    method: 'post',
    contentType: 'application/json', // 这句不加出现415错误:Unsupported Media Type
    data: JSON.stringify(obj), // 以json字符串方式传递
    success: function(data) {
      console.log("success...");
    },
    error: function(data) {
      console.log("error...");
    }
  });
}

springmvc 以model对象的形式接收:

@Controller
@RequestMapping("/admin/Obj")
public class ObjAction {
  // 注入操作类
  @Autowired
  private ObjService objService ;

  @RequestMapping(value = "/addObj")
  @ResponseBody
  public String addObj(@RequestBody Obj obj) {
    this.objService.insertObj(cate);
    return "success";
  }
}

2、以Map接收

@Controller
@RequestMapping("/admin/Obj")
public class ObjAction {
  /**
   * 前端操作与上面相同
   * @return
   */
  @RequestMapping(value = "/updateAttr")
  @ResponseBody
  public String updateAttr(@RequestBody Map<String, String> map) {
    if(map.containsKey("id"){
      Integer id = Integer.parseInt(map.get("id"));
    }
    if(map.containsKey("objname"){
      String objname = map.get("objname").toString();
    }
    if(map.containsKey("pid"){
      Integer pid = Integer.parseInt(map.get("pid"));
    }
    // 操作 ...
    return "success";
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程(cainiaojc.com)。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。