Обратная совместимость при добавлении поля в ответ API - PullRequest
0 голосов
/ 31 мая 2018

Я добавил пару новых полей в ответ Json объекта. Это нормально, когда мы обновляем клиента, чтобы он обращался к API.Но более старые версии API выдают ошибку сериализации.Я использую PROTOSTUFF для сериализации и десериализации объекта.Как я могу заставить старую версию клиента игнорировать новые поля и продолжать работать должным образом.Я попытался сделать переходные поля и тег @ JsonIgnore

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Решением было добавить дополнительные поля в конце всех полей в классе, а не в середине.PROTOSTUFF игнорирует поля, добавленные в конце как неизвестные поля, и не выдает ошибку.

0 голосов
/ 31 мая 2018

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

См. Ссылку ниже:

REST API Versioning

Введение в рекомендации по управлению версиями API

...