Package io.vertx.json.schema
Interface Ref
-
public interface Ref
JsonObject$ref
resolver. This interface is used to resolve$ref
in aJsonObject
. The result is a newJsonObject
with all the$ref
replaced by actual object references. This new object allows navigation and queries usingJsonPointer
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 Methods Modifier and Type Method Description static JsonObject
resolve(JsonObject json)
Resolve all$ref
in the givenJsonObject
.
-
-
-
Method Detail
-
resolve
static JsonObject resolve(JsonObject json)
Resolve all$ref
in the givenJsonObject
. The resolution algorithm is not aware of other specifications. When resolving OpenAPI documents (which only allow$ref
at 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$ref
is ignored. This is because$ref
works 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
$ref
replaced by actual object references. - Throws:
IllegalArgumentException
- when the input JSON is not valid.UnsupportedOperationException
- reducing the JSON pointer to a value is undefined.
-
-