The UriTemplate.extract method decodes the URI before splitting it into path parameters.
public PathParameters extract(String uri) {
List<String> values = groupValues(templateRegex.findMatches(UrlEncodedMessage.decode(trimSlashes(uri))).head());
return pathParameters(names.zip(values));
}
This causes any encoded slashes to be converted to slashes and treated as a path separator. I'm pretty sure it would be safe to split first and then decode each parameter individually. I cloned and tried to give it a go but repo.bodar.com:80 is blocked by the company firewall.