Свойство игнорирования данных ответа

#java #json

#java #json

Вопрос:

Можно ли игнорировать ответ JSON, когда сервер ответов отправляет результат?

Я имею в виду, что сервер ответов (A) отправляет объект данных ответа, подобный {"A" : 'SOME_DATA'} .

И оно изменилось {"A" : 'SOME_DATA', "B" : 'SOME_DATA_2'} , и если сервер запросов (B) не обновляет объект данных, тогда возникает «нераспознанная ошибка JSON».

Итак, я хочу этот объект make, но, если сервер B не может распознать, я не отправляю «B».

Это может быть возможной настройкой на сервере A? или это должно быть установлено на сервере B, как аннотация @JsonIgnoreProperties(ignoreUnknown = true) ?

Комментарии:

1. Если вы позволите «серверу B» (я думаю, вы имеете в виду «клиент B») отправить заголовок вместе с запросом, который содержит номер версии ответа, который он может принять, то «сервер A» может выбирать между несколькими различными ответами в зависимости от версии, указанной B. Но, вероятно, будет проще, если вы заранее сообщите своим клиентам игнорировать неизвестные поля.

2. спасибо за совет. чем вы имеете в виду, что «сервер A» не может обработать свойство ответа на собственном сервере? нравится @jsonignore? нет способа обработать это на стороне сервера (имеется в виду сервер A).

Ответ №1:

Лучший способ, когда вы хотите внести обновление в свой API, — создать новую конечную точку для вашей новой версии. Что-то вроде этого :

api / v1 / my / awesome / конечнаяточка

api / v2 / my / awesome / endpoint

Для игнорирования части ответа JSON вы действительно можете установить на клиенте DTO

 @JsonIgnoreProperties(ignoreUnknown = true)