addQueryParameter method
Adds or updates a query parameter in this URI.
If value is null or empty, the parameter is removed instead.
Args:
key: The query parameter key.value: The query parameter value. If null/empty, removes the parameter.
Returns: A new URI with the updated query parameters.
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
Implementation
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);
}