diff --git a/back-end/hub-core/src/main/java/io/apicurio/hub/core/content/AbstractReferenceResolver.java b/back-end/hub-core/src/main/java/io/apicurio/hub/core/content/AbstractReferenceResolver.java index ad02aa397..41e3e9465 100644 --- a/back-end/hub-core/src/main/java/io/apicurio/hub/core/content/AbstractReferenceResolver.java +++ b/back-end/hub-core/src/main/java/io/apicurio/hub/core/content/AbstractReferenceResolver.java @@ -52,7 +52,8 @@ public abstract class AbstractReferenceResolver implements IReferenceResolver { @Override public Node resolveRef(String reference, Node from) { try { - URI uri = new URI(reference); + // escape curly brackets to handle path items external refs with templates + URI uri = new URI(reference.replaceAll("\\{", "%7B").replaceAll("}", "%7D")); if (accepts(uri)) { return resolveUriRef(uri, from); }