Java Spring RestTemplate-指定Jackson视图

Java Spring RestTemplate-指定Jackson视图,java,json,spring,jackson,Java,Json,Spring,Jackson,我有一个rest客户机类,它负责使用单个SpringRESTTemplatebean调用rest服务来进行HTTP交换。这包括通过MappingJacksonHttpMessageConverter.java对MyObject.java进行序列化 创建(发布)MyObject时,我会发送5个字段 当更新(放置)MyObject时,我必须只发送3(可变字段) 我想要一个单独的DTO,MyObject,它在不同的情况下进行不同的序列化:POST vs PUT。加入完美解决此问题的Jackson视图

我有一个rest客户机类,它负责使用单个SpringRESTTemplatebean调用rest服务来进行HTTP交换。这包括通过MappingJacksonHttpMessageConverter.java对MyObject.java进行序列化

创建(发布)MyObject时,我会发送5个字段

当更新(放置)MyObject时,我必须只发送3(可变字段)

我想要一个单独的DTO,MyObject,它在不同的情况下进行不同的序列化:POST vs PUT。加入完美解决此问题的Jackson视图

我的问题是ObjectMapper隐藏在RestTemplate messageConverters中,这使得在REST交换时很难添加上下文,以确定序列化时ObjectMapper要使用哪个视图

有没有办法实现这一点,或者我需要两个不同的RestTemplates,一个配置了对象映射器用于创建,另一个用于更新。这似乎有很多重复


提前感谢

您可以将ObjectMapper或DTO本身配置为在序列化过程中忽略空值。然后只设置要在DTO中传递的字段。

我真的不想这样做。MyObject有一个ID,该ID是不可变的,并且属于该对象,恰好在序列化更新的上下文中,我不想发送它。目前我正在创建一个updateDto,它没有这些字段,只是看起来有点混乱。你能发布一些代码吗?我看看今晚能不能添加一些