addQueryParameter method
Returns a new URI with the key query parameter set to value.
If value is null or empty, the parameter is removed instead.
Example:
Uri.parse('https://example.com').addQueryParameter('page', '1');
// Returns: https://example.com?page=1
Uri.parse('https://example.com?a=1').addQueryParameter('b', '2');
// Returns: https://example.com?a=1&b=2
Audited: 2026-06-12 11:26 EDT
Implementation
@useResult
Uri addQueryParameter(String key, String? value) {
if (key.isEmpty) {
return this;
}
final Map<String, dynamic> params = Map<String, dynamic>.from(queryParameters);
if (value == null || value.isEmpty) {
params.remove(key);
} else {
params[key] = value;
}
return replace(queryParameters: params);
}