我想实现http补丁方法来对资源进行部分更新。我有一个用jackson反序列化的bean,它包含一些有效的属性。另外,我还有一个bean,它当前存储在我的应用程序中。有没有一种简单的方法可以将部分bean合并到不涉及硬编码Map过程的完整bean中?我需要能够至少部分地控制流程(没有id的Map,没有某些属性的Map)。
wmvff8tz1#
您可以使用带有自定义转换器(用户指南:第49页)的推土机来验证目的地是否已填充。推土机有一个伟大的文件。可以很容易地集成到spring/eclipse中。你可以试试
bogh5gae2#
我没有完整的解决方案,只有一个提纲:我觉得使用javabean进行合并很困难(您如何知道哪些字段已经更改了?)所以我尝试将json作为jackson树模型。这样,您就可以迭代所有节点并自己更新bean。这将使合并变得非常简单:从json模型获取id加载bean循环所有json节点,忽略不可变的节点(id、其他危险字段)使用JavaBeanAPI发现属性使用spring数据转换助手将json数据转换为java类型。你自己给塞特人打电话保存修改过的bean
2条答案
按热度按时间wmvff8tz1#
您可以使用带有自定义转换器(用户指南:第49页)的推土机来验证目的地是否已填充。
推土机有一个伟大的文件。可以很容易地集成到spring/eclipse中。你可以试试
bogh5gae2#
我没有完整的解决方案,只有一个提纲:
我觉得使用javabean进行合并很困难(您如何知道哪些字段已经更改了?)
所以我尝试将json作为jackson树模型。这样,您就可以迭代所有节点并自己更新bean。
这将使合并变得非常简单:
从json模型获取id
加载bean
循环所有json节点,忽略不可变的节点(id、其他危险字段)
使用JavaBeanAPI发现属性
使用spring数据转换助手将json数据转换为java类型。
你自己给塞特人打电话
保存修改过的bean