public URI build()

in client/src/main/java/org/apache/rocketmq/schema/registry/client/rest/UrlBuilder.java [90:117]


    public URI build(Object... templatePathValues) {

        List<String> templateValues = Arrays.stream(templatePathValues)
            .map(o -> UriPercentEncoder.encode(String.valueOf(o), Charset.defaultCharset()))
            .collect(Collectors.toList());
        if (templateValues.size() != this.templateNames.size()) {
            throw new IllegalArgumentException("Mismatched number of template variable names: expected "
                + this.templateNames.size() + ", got " + templateValues.size());
        }

        String encodedPath = templatePath;
        for (int i = 0; i < templateNames.size(); i++) {
            encodedPath = encodedPath.replace(templateNames.get(i), templateValues.get(i));
        }

        if (queryParamString.length() > 0) {
            if (encodedPath.indexOf('?') < 0) {
                encodedPath += '?';
            }
            encodedPath += queryParamString;
        }

        try {
            return new URI(encodedPath);
        } catch (URISyntaxException e) {
            throw new IllegalArgumentException(e);
        }
    }