Jackson2JsonRedisSerializer报错Could not read JSON: Unrecognized field...

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_29092471/article/details/55194363

nested exception is com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field “credentialsSalt” (class com.scl.user.domain.SysUser), not marked as ignorable

  1. 说明:
    在实体类SysUser中,写了一个方法:
    /**
     * 加盐
     * @return
     */
    public String getCredentialsSalt() {
        return username + salt;
    }
但是credentialsSalt不是SysUser实体类的一个属性,发现在redis中保存的json字符串却有credentialsSalt属性:
["com.scl.user.domain.SysUser",{"id":"b2edd69c593547bfaa9d854db2442c43",
"username":"scl",
"password":"e7e4c6820a93d65cf7ea0cb2a53b4d27",
"salt":"b91fbff177d9e463846f783ce4b889ef",
"isLocked":0,"isDelete":0,
"createBy":"b2edd69c593547bfaa9d854db2442c43",
"createTime:["java.util.Date",1486457416000]",
"updateBy":null,"updateTime":null,
"credentialsSalt":"sclb91fbff177d9e463846f783ce4b889ef"}]
确定名为get...的方法在Jackson2JsonRedisSerializer使用中 会被序列化成一个属性值到json字符串中。
  1. 解决方案:
    除了实体类的属性的getter方法,不要写其他的getter方法(用其他方法名代替)

猜你喜欢

转载自blog.csdn.net/baidu_29092471/article/details/55194363