Я использую Retrofit2 для подключения к API на основе REST. Проблема в том, что для этого требуется положение lat/lng, но только для примерно 50% конечных точек. Мне интересно, как я должен динамически добавлять параметр запроса в OkHttpClient на основе некоторого логического. Мой код:Как добавить параметры динамического запроса в Retrofit2 OkHttpClient Interceptor?
public static APIEndpointInterface getHttpClient(Boolean addLatLng){
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
LatLng location = App.getLocationRepository().getCurrentLocation();
String lat = String.valueOf(location.latitude);
String lng = String.valueOf(location.longitude);
Request request = chain.request();
HttpUrl url = request.url().newBuilder()
.addQueryParameter("version", API_VERSION)
.addQueryParameter("app_version_code", String.valueOf(BuildConfig.VERSION_CODE))
//ADD ONLY IF BOOLEAN PASSED TO METHOD IS TRUE
.addQueryParameter("lat", lat)
.addQueryParameter("lng", lng)
.port(PORT_HTTPS)
.build();
......
Есть ли другой вариант, кроме добавления lat/lng для каждого метода второго интерфейса?