Dart - 如何发送带括号的查询参数数组

Dart - how to send query parameter array with brackets

使用 Flutter/Dart- 我想使用包含数组的查询参数进行 Uri 网络调用。

例如:

Map<String, dynamic> queryParameters = {
        'include': 'messages',
        'scopes': ['withHasUnreadMessages', 'withSubscriberUserIds'],
};
uri = Uri.https(_getBaseUrl(), '/mypath', queryParameters);

打印:

https://mypath?include=subscribers&scopes=withHasUnreadMessages&scopes=withSubscriberUserIds

但是,我的 api 服务器 (PHP) 不能很好地处理包含重复键的请求。我的服务器需要:

https://mypath?include=subscribers&scopes[]=withHasUnreadMessages&scopes[]=withSubscriberUserIds

有没有办法给 darts Uri queryParameters 添加括号?

PS - 这可能是评论 但我没有声望点数。

不是 dart 用户,但乍一看,您可以将数组括号添加到输入名称中

Map<String, dynamic> queryParameters = {
        'include': 'messages',
        'scopes[]': ['withHasUnreadMessages', 'withSubscriberUserIds'],
};
uri = Uri.https(_getBaseUrl(), '/mypath', queryParameters);