2015-11-19 3 views
0

У меня есть веб-сервис, который отображается для объекта.Как узнать, какая недвижимость обновлена?

Теперь, когда кто-то хочет обновить этот объект, скажем, продукт как сущность и описание, которые они хотят обновить с помощью веб-службы. Так что стороннее приложение отправляет productid и просто описание. поэтому как я узнаю, что это конкретное свойство обновлено, поэтому я могу установить это свойство в pojo и вставить этот продукт в базу данных.

+0

Конкретно. Предпочтительно размещать некоторый код-код. –

+0

Я сожалею об этом, но его более связанный с архитектурным вопросом, следовательно ... –

ответ

0

Просто обновить ... я нашел еще один способ делать

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

BeanUtils.setProperty (объект, ключ, JsonOject.getString (ключ)); }

К этому вы можете передать ключ как имя свойства и значение, как описано выше, не нужно знать, какое свойство придет. Просто мы должны дважды проверить, что свойство должно быть правильно названо.

0

Вы должны использовать наблюдателя образца (wikipedia). Внедрите его в веб-службе и в службе обновления данных (на примере).

Сделайте свой веб-сервис наблюдаемым и сделайте свой dataManager наблюдателем.

В будущем вы можете добавить больше наблюдателя (например, для приложения или другого веб-сервиса).

0

Мне кажется, что вам нужно сравнить с его предыдущей версией. Например.

У вас может быть кеш объекта и найти в кеше объект по id, после чего вам нужно сравнить каждое свойство. Таким образом, вы можете определить свойства, которые были изменены.

Если вы не можете сравнить снова кеш, который вам нужно сравнить с вашим хранилищем данных.

Я думаю, что это менее сложно, если обновить все поля.

+0

Да, что я могу сделать ... даже я могу сказать третьему лицу отправить имя свойства продукта, который был изменен таким образом, я не нуждаюсь установить все свойства, но есть ли лучший способ ?! –

+0

Я думаю, что это лучший способ сделать это. Я бы не рекомендовал, чтобы клиент отправил измененные поля, поскольку он мог отправлять неверную информацию. – reos

Смежные вопросы