dart uri add query parameters

在Dart中,可以通过Uri类来处理URI。如果您需要向URI中添加查询参数,可以使用Uri类的replace方法。

以下是一个示例,演示如何向URI添加查询参数:

void main() {
  Uri uri = Uri.parse('https://www.example.com/path');
  Map<String, dynamic> queryParameters = {'param1': 'value1', 'param2': 'value2'};
  // 使用replace方法向URI添加查询参数
  uri = uri.replace(queryParameters: queryParameters);
  print(uri.toString()); // 输出 https://www.example.com/path?param1=value1&param2=value2

在这个示例中,首先我们使用Uri.parse方法将一个URL字符串转换为一个Uri对象。然后,我们创建了一个名为queryParameters的Map,其中包含我们想要添加到URI中的查询参数。最后,我们使用replace方法将查询参数添加到URI中,并将返回的新URI对象赋给uri变量。

值得注意的是,如果URI已经有查询参数,则replace方法将替换掉原有的查询参数。如果您希望添加新的查询参数而不是替换原有的查询参数,可以使用merge方法。以下是一个示例:

void main() {
  Uri uri = Uri.parse('https://www.example.com/path?param1=value1');
  Map<String, dynamic> queryParameters = {'param2': 'value2', 'param3': 'value3'};
  // 使用merge方法向URI添加查询参数
  uri = uri.replace(queryParameters: uri.queryParameters..addAll(queryParameters));
  print(uri.toString()); // 输出 https://www.example.com/path?param1=value1&param2=value2&param3=value3

在这个示例中,我们创建了一个包含新的查询参数的Map,并使用addAll方法将其与原有的查询参数合并。最后,我们使用replace方法将新的查询参数添加到URI中。

希望这些示例能帮助您解决问题。如果您有任何疑问,请随时提出。

  •