Перейти к содержанию

Расширитель URI-шаблонов

Разверните RFC 6570 URI-шаблон в реальный URL, используя предоставленные переменные.

Входные данные
Переменные
Выходные данные

Расширитель URI-шаблонов

Вставьте URI-шаблон — такой, как используется в определениях ссылок OpenAPI/Swagger, переадресациях OAuth, конфигурациях вебхуков и гиперссылок API (HAL, Hydra, JSON:API) — и этот инструмент развернет его {expressions} в реальный URL. Он полностью реализует RFC 6570, включая операторы пути, строки запроса, параметров пути, меток и фрагментов, поэтому шаблон вроде "/users/{id}{?fields,tags*}" развернется точно так же, как это делала бы совместимая библиотека клиента.

Значения переменных вводятся на вторую панель, по одной паре "ключ=значение" на строку. Обычное значение — это строка; оберните список, разделенный запятыми, в квадратные скобки ("tags=[dev,admin]") для переменных списка, и используйте фигурные скобки с парами, разделенными "|", ("keys={role=admin|team=core}") для переменных ассоциативных (ключ-значение). Опция уровня шаблона (1-4) проверяет, какие функции RFC 6570 фактически требует выражение, и отмечает те, которые выходят за пределы выбранного уровня — полезно, если вы нацеливаетесь на клиента, который реализует только более низкий уровень. Кодирование зарезервированных символов процентом принудительно кодирует даже внутри обычно либеральных расширений "+" и "#"; пропуск пустых переменных удаляет переменную, которая разрешается в пустую строку, вместо того, чтобы оставлять голый параметр.

Под развернутым URL инструмент всегда выводит список переменных, которые были использованы в ссылке, но не были предоставлены ("missing") и которые были предоставлены, но никогда не использовались шаблоном ("unused") — самый быстрый способ обнаружить опечатку либо в шаблоне, либо в списке переменных. Окончания строк, модификаторы префиксов ("{var:3}") и модификаторы развертывания ("{list*}", "{keys*}") обрабатываются в соответствии со спецификацией, а неправильный шаблон (несбалансированные скобки, пустое выражение, неподдерживаемый оператор) возвращает понятное сообщение об ошибке вместо пустого результата.

Все работает локально в вашем браузере — шаблон и его переменные никогда не загружаются никуда. Скопируйте развернутый URL, загрузите его как файл .txt или отправьте его прямо во вход другого инструмента, чтобы продолжить работу.

FAQ

Что такое URI-шаблон?
URI-шаблон (RFC 6570) — это шаблон URL с {заполнителями}, которые заполняются реальными значениями — формат, который используют API для документирования параметризованных конечных точек, например "/users/{id}".
Какие операторы он поддерживает?
Все из них: простое расширение, "+" (зарезервированные символы допускаются), "#" (фрагмент), "." (метка), "/" (сегменты пути), ";" (параметры стиля пути), "?" (строка запроса) и "&" (продолжение запроса).
Как я могу предоставить список или объект в качестве значения переменной?
Оберните список в квадратные скобки, например "tags=[dev,admin]". Оберните объект в фигурные скобки с парами, разделенными "|" , например "keys={role=admin|team=core}" — простое значение остается простой строкой.
Что происходит, если переменная, используемая в шаблоне, не имеет значения?
Она расширяется как пусто и выводится под заголовком "Missing" ниже результата, чтобы вы могли с первого взгляда увидеть, какие значения вам еще нужно предоставить.
Мой URI-шаблон или данные переменных загружаются где-то?
Нет. Расширение работает полностью в вашем браузере — шаблон и его переменные никогда не покидают ваше устройство.