Interface Ref
public interface Ref
JsonObject
$ref resolver. This interface is used to resolve $ref in a JsonObject. The result
is a new JsonObject with all the $ref replaced by actual object references.
This new object allows navigation and queries using JsonPointer but will not be
able to be encoded back to JSON when circular dependencies are present.
The resolver will only resolve local references as defined in RFC3986. A local reference is a reference that starts
with # and is followed by a valid JSON Pointer.- Author:
- Paulo Lopes
-
Method Summary
Static MethodsModifier and TypeMethodDescriptionstatic JsonObjectresolve(JsonObject json) Resolve all$refin the givenJsonObject.
-
Method Details
-
resolve
Resolve all$refin the givenJsonObject. The resolution algorithm is not aware of other specifications. When resolving OpenAPI documents (which only allow$refat specific locations) you should validate if the document is valid before performing a resolution. It is important to note that any sibling elements of a$refis ignored. This is because$refworks by replacing itself and everything on its level with the definition it is pointing at.- Parameters:
json- the JSON object to resolve.- Returns:
- a new JSON object with all the
$refreplaced by actual object references. - Throws:
IllegalArgumentException- when the input JSON is not valid.UnsupportedOperationException- reducing the JSON pointer to a value is undefined.
-