У меня проблема с дублирующимися косыми чертами, и мне интересно, есть ли решение, встроенное в Retrofit.Повторяющиеся слэши в дооснащении URL
Мой сервер предоставляет базовый URL, мы должны использовать, который будет выглядеть примерно так: .setEndpoint(http://some.url.com/)
Сервер также проходит по пути URI, который должен быть приложенный к этой конечной точке (с различными запросами). Поэтому мой сервер может отправить обратно /channels/videos
.
Это получает вручено Модифицированные по следующему методу
@GET("/{uri}")
void GET(@Header("Authorization") String authHeader, @Path(value = "uri", encode = false) String uri,
@Header("Cache-Control") String cacheHeaderValue, Callback<Object> callback);
Это то проблематично, так как URL, который получить удар с помощью метода GET является http://some.url.com//channels/videos
, который не будет корректно работать в моей ситуации.
Я попытался вручную вырезать конечную косую черту с моей базовой конечной точки - но я все еще видел дубликат косой черты, который я принимаю в результате "/{uri}"
и /channels/videos
.
Я думаю, что моя проблема будет устранена удалением ведущей косой черты в "/{uri}"
, но это не разрешено в Модернизации. И удаление ведущей косой черты в URI пути я вернусь с моего сервера, это не совсем возможно.
throw methodError("URL path \"%s\" must start with '/'.", path);
retrofit.RetrofitError: GET: URL path "{uri}" must start with '/'.
Есть ли другое решение этой проблемы?
Соответствующие ссылки:
Possible duplicate but they describe it a little differently
Jake Wharton saying it should be de-duped in what I think is the situation I'm describing
Maybe what Jake Wharton was referencing
Currently unanswered issue asking Jake this same question
Почему бы вам не удалить URL-адрес вашей конечной точки? Что-то вроде этого 'http: // some.url.com' – siriscac
' Я попробовал вручную вырезать конечную косую черту с моей базовой конечной точки ... ' Я также подумал, что это исправит, но похоже, что это произойдет от ведущей косой черты как в аннотации, так и в пути, который я получаю с моего сервера. –