1.为了使用户认证过滤器UserDetailsService中做查询时能直接返回User对象,所以pojo中TUser要实现UserDetails接口。
2.要实现UserDetails中的抽象方法。其中原TUser中有一条属性叫enabled,又因为实现的抽象方法中有一个方法名字叫isEnabled(),返回值属性不一样。所以会造成冲突。
3.在javaBeans规范中,基本数据类型的属性,其getter和setter方法是getXXX()和setXXX,但是对于基本数据中布尔类型的数据,又有一套规定,其getter和setter方法是isXXX()和setXXX。
4.springboot默认基于jackon序列化方式,通过反射方法并且认为去掉方法名中的 "get"或者"is"后,认为剩下的名字就是该字段。导致后端查询时,正确查询所有字段。但是前端接收时,确少了该字段。
解决:
1.可以通过修改原pojo中属性的类型进行匹配。
2.针对冲突字段尝试不使用 @JsonIgnore 进行序列化忽略。【可能会照成反序列话异常】