如何知道哪个属性更新?

时间:2015-11-19 18:10:29

标签: java json web-services product

我有一个为实体公开的网络服务。

现在当某人想要更新该实体时,让产品作为实体和描述,他们希望在Web服务的帮助下更新。 所以发送productid的第三方应用程序只是描述。那么我怎么知道这个特定属性已更新,以便我可以将此属性设置为pojo并将此产品插入数据库。

3 个答案:

答案 0 :(得分:0)

您应该使用模式观察者(wikipedia)。在Web服务和数据更新程序服务中实现它(通过示例)。

使您的网络服务可观察并使您的数据管理员成为观察者。

将来,您可以添加更多观察者(例如,对于app或其他Web服务)。

答案 1 :(得分:0)

我认为您需要与之前的版本进行比较。例如。

你可以有一个实体的缓存,并在缓存中找到id的对象,之后你需要比较每个属性。因此,您可以识别已更改的属性。

如果无法比较缓存,则需要与数据存储库进行比较。

如果您更新所有字段,我认为它不那么复杂。

答案 2 :(得分:0)

刚刚更新...... 我找到了另一种方法

Iterator<?> keys = JsonOject.keys();
    while(keys.hasNext() ) {
                            String key = (String)keys.next();

BeanUtils.setProperty(object,key,JsonOject.getString(key));                                 }

通过这个你可以传递key作为属性名和值,如上所述,不需要知道哪个属性即将到来。我们必须仔细检查该属性是否应该正确命名。