addQueryParameter static method

dynamic addQueryParameter({
  1. required String url,
  2. required String key,
  3. required String value,
})

Add query parameter to url

Parameters:

  • url: The url to add query parameter. The url cannot be empty.
  • key: The key of query parameter. The key cannot be empty. Since this function will encode the key, it does not need to be encoded before being passed to it.
  • value: The value of query parameter Since this function will encode the key, it does not need to be encoded before being passed to it.

Example:

const url = "https://firework.com";
const key = "product_id";
const value = "1234";
final updatedUrl = FWUrlUtil.addQueryParameter(
  url: url,
  key: key,
  value: value,
);
print(updatedUrl); // https://firework.com?product_id=1234

Implementation

static addQueryParameter({
  required String url,
  required String key,
  required String value,
}) {
  if (url.isEmpty || key.isEmpty) {
    return url;
  }

  Uri uri = Uri.parse(url);

  String encodedKey = Uri.encodeComponent(key);
  String encodedValue = Uri.encodeComponent(value);
  String newQueryParam = "$encodedKey=$encodedValue";

  final updatedUrl = "$url${uri.query.isEmpty ? "?" : "&"}$newQueryParam";

  return updatedUrl;
}