Пользовательский модифицированный конвертер в nest JSON

#android #retrofit2 #moshi

#Android #модифицированный 2 #моши

Вопрос:

У меня есть POJO, который содержит один токен аутентификации в строковой переменной. Мне нужно отправить это в мой API, используя следующий шаблон:

 { “auth” : { api_key”:”XXXX” } }
  

Я использую moshi для преобразования моих POJOs в JSON, который возвращает

 {"api-key":"XXXX"}
  

Как я могу добавить дополнительные скобки снаружи моей текущей, используя модифицированный конвертер?

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

1. Ваш JSON неверен..

2. Извините, @abhishukla, исправлено.

Ответ №1:

Вы можете использовать Moshi-Lazy-Adapters для переноса json. Просто используйте следующую аннотацию при отправке тела:

 @POST("your_post_url") 
Call<YourResponseTypeHere> sendApiKey(@Body @Wrapped({"auth", "api_key"}) String apiKey);
  

Адаптер библиотеки сделает все остальное. И вам не нужно объявлять дополнительный объект.

Ответ №2:

Я думаю, вам следует использовать аутентификацию OAuth. Затем вы можете использовать перехватчик для дооснащения и заполнить этот токен.