Преобразовать тело ответа Retrofit, содержащее данные формы - PullRequest
0 голосов
/ 22 апреля 2020

Большинство API, с которыми я имею дело, возвращают JSON в качестве ответа, и я создаю конструктор, подобный этому:

Retrofit.Builder()
                .baseUrl(myBaseUrl)
                .addConverterFactory(GsonConverterFactory.create(GsonBuilder().create()))
                .client(RetrofitClientHelper.initializeRetrofit())
                .build().create(OAuthWebAPI::class.java)

Но есть некоторые API, которые возвращают то, что выглядит как данные в кодировке формы:

key1=value1&key2=value2&key3=value3

Как я могу заставить этого строителя конвертировать это? Нужно ли создавать свой собственный конвертер или уже есть что-то для обработки данных такого типа? Content-Type ответа:

application/x-www-form-urlencoded; charset=utf-8

Лично я думаю, что проще всего было бы просто получить тело ответа в виде простого текста и просто проанализировать текст. Есть ли способ получить запасной вариант, когда JSON не указан, так что возвращается только тело ответа?

...