由于您
MyUser用作Spring托管的bean,因此Spring将您的对象包装到一个代理中-
因此,在调用时,
mapper.writevalueAsString(user);您实际上是在将代理作为参数传递。所述代理包含一些属性,映射器无法序列化。
您可以尝试在序列化之前应用过滤器,以仅包括所需的属性:
ObjectMapper mapper = new ObjectMapper();SimpleFilterProvider simpleFilterProvider = new SimpleFilterProvider() .addFilter("myUser", simpleBeanPropertyFilter.filterOutAllExcept("username"));mapper.setFilters(filterProvider);return mapper.writevalueAsString(user);


