Модификация 2 – Динамический URL
1. Обзор
В этом коротком учебнике мы узнаем, как создать динамический URL в Переоборудование2 .
2. @Url Аннотация
Есть случаи, когда нам нужно использовать динамический URL в нашем приложении во время выполнения. Версия 2 Переоборудование библиотечных ввел @Url аннотация, которая позволяет нам пройти полный URL для конечной точки :
@GET CallreposList(@Url String url);
Эта аннотация основана на HttpUrl класс из ОкХттп библиотеки, и URL-адрес решается как ссылка на странице с использованием <хреф””> . При использовании @Url параметр, нам не нужно указывать адрес в @GET аннотация.
В Урл параметр заменяет наш базаУрль от реализации службы:
Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .addConverterFactory(GsonConverterFactory.create()).build();
Важно то, что если мы хотим использовать @Url аннотация, она должна быть установлена в качестве первого параметра в методе обслуживания.
3. Парам пути
Если мы знаем, что какая-то часть нашего базового URL будет постоянной, но мы не знаем, расширение его или количество параметров, которые будут использоваться, мы можем использовать @Path аннотация и закодированные флаг:
@GET("{fullUrl}") Call> contributorsList(@Path(value = "fullUrl", encoded = true) String fullUrl);
Таким образом, все “/” не будут заменены %2F , как если бы мы не использовали закодированный параметр. Тем не менее, все символы “?” в пройденный адрес по-прежнему будет заменен на %3F .
4. Резюме
Библиотека Retrofit позволяет нам легко предоставить динамический URL во время выполнения приложения, используя только @Url аннотация.
Как обычно, все примеры кода можно найти более на GitHub .