В настоящее время я использую Retrofit 2.3 в своем проекте Android, и недавно используемый нами API был обновлен, так что он должен иметь "version":number
в теле JSON во всех запросах POST. Допустим, нам нужно передать объект UserCredentials - ранее тело запроса было просто сериализовано с использованием преобразователя GSON и выглядело так:
{"username":"myUsername", "password":"myPassword"}
и теперь у него должно быть дополнительное поле "версия":
{"username":"myUsername", "password":"myPassword", "version":1}
Я пару часов гуглил, как настроить фабрику пользовательских преобразователей на модернизацию, но все, что я нашел, это как исключить определенные поля из сериализации. Я знаю, что мог бы просто добавить поле "version"
ко всем моим POJO, но я нашел этот подход «грязным», так как он будет использоваться только при отправке данных на сервер.
Кто-нибудь делал что-то подобное ранее?