Кодирование пути к файлу в качестве параметра запроса с Retrofit2 не работает
Я пытаюсь закодировать путь к файлу в параметре запроса, но у меня всегда один и тот же вывод. Я пробовал:@Query(value="path", encoded=false) String path
а также
@Query(value="path", encoded=true) String path
но запрос выглядит так в обоих случаях:
/myendpoint?path=C:\Development\some\random\filepath
Я ожидаю следующий вывод:
/myendpoint?path=file:%5C%5C%5CC:%5CDevelopment%5Csome%5Crandom%5Cfilepath
если это невозможно, было бы неплохо получить такой вывод:
/myendpoint?path=C:%5CDevelopment%5Csome%5Crandom%5Cfilepath
поэтому я могу добавить строку "file:\\" в путь к файлу, прежде чем передавать его в мой метод модернизации, но Url-кодирование должно быть выполнено путем модификации, а путь должен быть отправлен как параметр запроса! Кто-нибудь знает, как получить эту работу?
Изменить: Как я выяснил, Retrofit имеет следующее поведение для кодирования запросов:
- если запрос содержит недопустимые символы (еще не закодированы), кодировка не работает
- если запрос содержит допустимые (уже закодированные) символы, кодирование работает (закодированный параметр включает и выключает кодирование)
Спасибо