Конструктор Uri
Конструктор Uri создает объект URI,
разбирая его на отдельные компоненты.
В первый параметр передается схема (например,
http или https), во второй -
имя пользователя, в третий - пароль, в четвертый -
хост, в пятый - порт, в шестой - путь,
в седьмой - параметры запроса, в восьмой -
фрагмент. Все параметры именованные и
необязательные.
Синтаксис
Uri({String scheme, String userInfo, String host, int port, String path, Iterable<String> pathSegments, String query, Map<String, dynamic> queryParameters, String fragment})
Пример
Давайте создадим URI с основными компонентами и выведем его в виде строки:
void main()
{
Uri uri = Uri(
scheme: 'https',
host: 'example.com',
path: '/api/data',
query: 'id=1'
);
print(uri);
}
Результат выполнения кода:
"https://example.com/api/data?id=1"
Пример
Давайте передадим параметры запроса через
queryParameters и выведем отдельные
компоненты URI:
void main()
{
Uri uri = Uri(
scheme: 'http',
host: 'example.com',
port: 8080,
path: '/search',
queryParameters: {'q': 'dart', 'page': '1'},
fragment: 'top'
);
print(uri);
print(uri.scheme);
print(uri.host);
print(uri.port);
print(uri.path);
print(uri.queryParameters);
print(uri.fragment);
}
Результат выполнения кода:
"http://example.com:8080/search?q=dart&page=1#top"
"http"
"example.com"
8080
"/search"
{q: dart, page: 1}
"top"
Пример
Давайте разобьем путь на сегменты с помощью
pathSegments:
void main()
{
Uri uri = Uri(
scheme: 'https',
host: 'example.com',
pathSegments: ['api', 'v1', 'users']
);
print(uri);
print(uri.pathSegments);
}
Результат выполнения кода:
"https://example.com/api/v1/users"
[api, v1, users]
Смотрите также
-
класс
Uri,
который представляет URI -
метод
parse,
который разбирает строку в URI -
метод
replace,
который заменяет компоненты URI -
свойство
queryParameters,
которое возвращает параметры запроса