OneOfPropertyBuilder

Builder for OneOfPropertyDefinition.

Configures oneOf schema composition where exactly one schema must match. Supports optional discriminator for efficient polymorphic type resolution.

This class is part of the JSON Schema DSL and cannot be instantiated directly. Use PropertyBuilder.oneOf instead within the DSL context.

Example - Basic oneOf

property("contact") {
oneOf {
description = "Email or phone contact"
obj {
property("email") {
required = true
string { format = "email" }
}
}
obj {
property("phone") {
required = true
string()
}
}
}
}

See also

Properties

Link copied to clipboard

Human-readable description of this property.

Functions

Link copied to clipboard

Adds a nested allOf schema option.

Link copied to clipboard

Adds a nested anyOf schema option.

Link copied to clipboard

Adds an array schema option.

Link copied to clipboard

Adds a boolean schema option.

Link copied to clipboard
Link copied to clipboard
fun discriminator(propertyName: String, block: DiscriminatorBuilder.() -> Unit = {})

Configures the discriminator for this oneOf.

Link copied to clipboard

Adds an integer schema option.

Link copied to clipboard

Adds a number schema option.

Link copied to clipboard

Adds an object schema option.

Link copied to clipboard

Adds a nested oneOf schema option.

Link copied to clipboard

Adds a reference schema option.

Link copied to clipboard

Adds a string schema option.