Метод replace класса Uri
Метод replace класса Uri возвращает новый объект Uri,
в котором указанные компоненты заменены на новые значения. Сама
исходная строка URI при этом не изменяется. Метод принимает
именованные параметры, такие как scheme, host, port,
path, query и fragment. Если параметр не указан,
соответствующий компонент остается без изменений.
Синтаксис
uri.replace({scheme, userInfo, host, port, path, pathSegments, query, queryParameters, fragment})
Пример
Давайте создадим URI и заменим в нем хост и порт:
void main()
{
Uri uri = Uri.parse('https://example.com:8080/path?query=1#frag');
Uri newUri = uri.replace(host: 'api.example.com', port: 443);
print(newUri);
}
Результат выполнения кода:
"https://api.example.com/path?query=1#frag"
Пример
Давайте заменим путь и строку запроса:
void main()
{
Uri uri = Uri.parse('https://example.com/old/path?old=1');
Uri newUri = uri.replace(path: '/new/path', query: 'new=2');
print(newUri);
}
Результат выполнения кода:
"https://example.com/new/path?new=2"
Пример
Давайте заменим фрагмент и схему:
void main()
{
Uri uri = Uri.parse('http://example.com/path#old');
Uri newUri = uri.replace(scheme: 'https', fragment: 'new');
print(newUri);
}
Результат выполнения кода:
"https://example.com/path#new"