expand method

String expand(
  1. Map<String, String> variables
)

Replaces all variable placeholders in the template with actual values provided in the variables map.

Throws a PathMatchingException if any required variable is missing.


Example:

final template = UriTemplate('/docs/{section}/{page}');
final url = template.expand({'section': 'guide', 'page': 'intro'});
print(url); // /docs/guide/intro

Implementation

String expand(Map<String, String> variables) {
  String expandedPath = template;
  for (final varName in _variableNames) {
    if (!variables.containsKey(varName)) {
      throw UriPathMatchingException('Missing required URI template variable: $varName');
    }
    expandedPath = expandedPath.replaceAll('{$varName}', variables[varName]!);
  }

  return expandedPath;
}