У меня есть некоторые служебные URL-адреса с тем же baseUrl. Для некоторых URL-адресов будут использоваться некоторые распространенные используемые параметры, например apiVersion
или locale
. Но они не обязательно должны быть в каждом URL-адресе, поэтому я не могу добавить их в baseUrl.
.../api/{apiVersion}/{locale}/event/{eventId}
.../api/{apiVersion}/{locale}/venues
.../api/{apiVersion}/configuration
Я не хочу добавлять эти параметры в модифицированный интерфейс. В retrofit 1 я сделал перехватчик и использовал RequestFacade.addPathParam(..., ...)
для заполнения этих общих параметров пути для каждого URL.
Для модификации 2 я не могу найти подходящий способ сделать это с помощью okhttp. Единственный способ, которым я вижу это сейчас, - получить HttpUrl
от Chain.request().httpUrl();
в okhttp Interceptor
и сам манипулировать этим, но я не знаю, будет ли это лучший способ.
Кто-нибудь может найти лучший способ заменить параметры пути в okhttp Interceptor
?
На момент написания я использую модификацию: 2.0.0-beta2 и okhttp: 2.7.2.