Рубрики
Без рубрики

Модификация 2 – Динамический URL

Узнайте, как создать динамический URL в Retrofit2

Автор оригинала: baeldung.

Модификация 2 – Динамический URL

1. Обзор

В этом коротком учебнике мы узнаем, как создать динамический URL в Переоборудование2 .

2. @Url Аннотация

Есть случаи, когда нам нужно использовать динамический URL в нашем приложении во время выполнения. Версия 2 Переоборудование библиотечных ввел @Url аннотация, которая позволяет нам пройти полный URL для конечной точки :

@GET
Call reposList(@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 .