我在该项目使用了spring security,自定义了user类对象,需要实现UserDetails对象,实现的了相应的方法。
在这里我要说明的一点,实现完userdetails接口以后一定要记得将下面的参数改成true,要不然你的账户是登录不成功的
然后再来说说Jackson这个库。
众所周知,基于Spring MVC的RESTful接口基本都使用了Jackson这个类库。在进行类转换成json的时候有时候会出现空指针异常。
Could not write JSON: (was java.lang.NullPointerException); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.ms.backend.pojo.Message["data"]->java.util.ArrayList[1]->com.ms.backend.entity.User["authorities"])
当时一看空指针异常以为是进行反序列化生成json的时候有些数据为空,但尝试行的修改了一些参数也没有用,最后看到这个报错最后有个参数是User["authorities"]) 我的类中根本没有这个变量,估计是jackson对于我里面的get方法进行了相应的处理,因为我实现了UserDetails方法,实现了getAuthorities这个方法,所以,只需要在这个方法上面加上@JsonIgnore就可以了。