Я думаю, что проблема, с которой вы столкнулись, на самом деле не связана с проверкой, но она связана с обновлением вашего сервера без обратной совместимости. Вероятно, вам нужен лучший способ обработки обновлений.
Я не думаю, что иногда загрузка схемы и слепое заполнение пропущенных свойств - это путь. Можете ли вы построить свой сервис, чтобы он имел некоторую обратную совместимость? Если вам нужно нарушить обратную совместимость, есть ли у вас веская причина и есть ли у клиента разумный способ его поддержать или вам нужно обновить клиент?
Если вы управляете сервером и клиентом, стратегия, которая сработала для меня, была:
- Не делайте срочных изменений. Сначала обновите сервер до новой версии, а затем прекратите поддержку предыдущей версии.
- Клиенты могут иногда проверять, какие версии поддерживает сервер. Если они обнаружат, что сервер отказался от поддержки версии, которую использует клиент, обновите клиент. (может просто освежиться?)
Но это довольно широко. Не уверен точно, насколько это вам поможет, так как это довольно зависимо от ситуации.