Как поддерживать совместимость между версиями POJO, создающими JSON, между Spring MVC REST API и приложением Android, которое использует API
У меня есть Spring MVC REST API, где я делаю частые изменения в классах POJO, который превращает некоторую информацию в ответ JSON (я буду называть их JSON-репрезентативными POJO), который используется в приложении для Android с использованием RestTemplate
и сопоставьте ответ с JSON POJO.
В настоящее время:
Я поддерживаю одни и те же версии JSON-репрезентативных POJO как на базе кода приложений Android, так и на базе кода Spring MVC REST API, меняя их с обеих сторон вместе, когда требуется редактирование в JSON-репрезентативные POJO, и обновляю мое приложение в Google Play Store.
Каждый, у кого установлено мое приложение, может не обновлять приложение немедленно, и некоторые функции могут выйти из строя, если приложение Android не может использовать последний JSON, генерировать исключения и т. Д.
Я не хочу менять свои версии API для небольших изменений, и я не хочу использовать HATEOS, поскольку этот API не является публичным API.
Нужен совет о том, как поддерживать совместимость со старыми версиями моего приложения, использующего мой измененный REST API JSON.
1 ответ
Одним из способов решения этой проблемы, с которой я сейчас сталкиваюсь, является добавление @JsonIgnoreProperties(ignoreUnknown = true)
в классах, в которые я получаю данные. Вежливость: вопрос Игнорирование новых полей в объектах JSON с использованием Jackson