传入的JSON的字符串不正确(前端传到控制层遇到的问题--属性名不一致导致的)

 		var position ={};
        //需要名称,地址,状态
       position.positionName= $('#position-name').val();

这个position对象传入后端的属性名positionName一定要和后端实体类里面的对应的属性名一样

    @ApiOperation(value = "新增职位")
    @PostMapping("/insertPosition")//5
    @ResponseBody
  public Map<String,Object> insertPosition(@RequestParam String positionStr){
        Map<String,Object> map=new HashMap<>();
        //把JSON字符串positionStr转换成一个对象好操作一点
        ObjectMapper mapper = new ObjectMapper();
        Position position=null;

        //表示把一个JSON字符串positionStr转换成Position实体类
        try {
         //   position = mapper.readValue(positionStr, Position.class);
          position=mapper.readValue(positionStr,Position.class);
        
        } catch (JsonProcessingException e) {
            map.put("success",false);
            map.put("errMsg","传入的JSON字符串格式不正确");
            return map;
        }
        //转换成功后,去新增

        try {
            positionService.insert(position);
        } catch (Exception e) {
            map.put("success",false);
            map.put("errMsg",e.getMessage());
            return map;
        }
        map.put("success",true);//表示操作成功
        return map;
    }

这里面的positionStr里面的字段要和我Position.class里面的字段一样

public class Position implements Serializable {
    private static final long serialVersionUID = 788318165769505032L;
    /**
    * 职位表id
    */
    private Integer positionId;
    /**
    * 职位名
    */
    private String positionName;
    /**
    * 创建时间
    */
    private Date createTime;
    /**
    * 状态 1:有效 0:无效
    */
    private Integer status;

我在js部分 position.positionName= $(’#position-name’).val();写成了 position.name= $(’#position-name’).val(); 导致在控制层把捕获JSON字符串不正确运行了 这两行,因为name和实体类里面的任何一个都对不上

			map.put("success",false);
            map.put("errMsg","传入的JSON字符串格式不正确");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值