作者回复: ParameterizedTypeReference<List<Customer>>不可以么?还是说Customer也是带泛型的?在ParameterizedTypeReference里把T都变成具体类型。
作者回复: RestTemplateBuilder是做了很多额外的配置的,比如我怎么去支持@JsonComponent之类的,可以读一下RestTemplateBuilder 的代码,再RestTemplateAutoConfiguration里是怎么初始化RestTemplateBuilder的。
作者回复: 反序列化时忽略当前没有的属性就是一种兼容性,这样在服务端新增属性,不关心它的系统就无需升级。一般我们不建议删除或者修改已经发布的类型,也不建议在这些类里用枚举,以免碰到一个不认识的枚举值转换报错。
作者回复: 感觉是你的反序列化有问题,你可以看看你的JSON串是否是正确的,返回单个对象是否可以正常反序列化
作者回复: 每次T是确定的么?还是T也不知道?如果不确定T,那你让RestTemplate怎么反序列化呢。或者你都是JSON的,不关心内容时就直接Result<String>回来。
作者回复: 你再试试复杂的泛型类型呢,是不是一样都能支持
作者回复: 这个上面添加了@JsonComponent,SpringBoot会把它们注册进来,Jackson JSON自己会使用它们来做Money类型的序列化和反序列化的。