sttp.apispec.validation

Members list

Type members

Classlikes

case class AlternativeIssues(alternatives: List[List[SchemaCompatibilityIssue]]) extends SchemaCompatibilityIssue

An issue raised when a schema is not compatible with any of the alternatives in a target union schema.

An issue raised when a schema is not compatible with any of the alternatives in a target union schema.

Value parameters

alternatives

a list of non-empty lists of issues, where each list corresponds to one of the alternatives

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ArrayLengthBoundsMismatch(writerBounds: Bounds[Int], readerBounds: Bounds[Int]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Bound[T](value: T, inclusive: Boolean)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Bound

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Bound.type
case class Bounds[T](min: Option[Bound[T]], max: Option[Bound[T]])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class DiscriminatorPropertyMismatch(writerDiscriminator: String, readerDiscriminator: String) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class EnumMismatch(incompatibleWriterValues: Option[List[ExampleValue]], readerValues: List[ExampleValue]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class FormatMismatch(writerFormat: Option[String], readerFormat: String) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class GeneralSchemaMismatch(writerSchema: Schema, readerSchema: Schema) extends SchemaCompatibilityIssue

A SchemaCompatibilityIssue used when the schemas are different but the comparator was unable to determine compatibility. Thus, the schemas may or may not be compatible.

A SchemaCompatibilityIssue used when the schemas are different but the comparator was unable to determine compatibility. Thus, the schemas may or may not be compatible.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class IncompatibleDiscriminatorCase(discriminatorValue: String, subschemaIssues: List[SchemaCompatibilityIssue]) extends SubschemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class IncompatibleItems(subschemaIssues: List[SchemaCompatibilityIssue]) extends SubschemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class IncompatiblePrefixItem(index: Int, subschemaIssues: List[SchemaCompatibilityIssue]) extends SubschemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class IncompatibleProperty(property: String, subschemaIssues: List[SchemaCompatibilityIssue]) extends SubschemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class IncompatibleUnionVariant(index: Int, subschemaIssues: List[SchemaCompatibilityIssue]) extends SubschemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class MissingDependentRequiredProperties(property: String, newRequiredProperties: Set[String]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class MissingRequiredProperties(newRequiredProperties: Set[String]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class MultipleOfMismatch(writerMultiplier: Option[BigDecimal], readerMultiplier: BigDecimal) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class NoValuesAllowed(writerSchema: Schema) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class NumericBoundsMismatch(writerBounds: Bounds[BigDecimal], readerBounds: Bounds[BigDecimal]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ObjectSizeBoundsMismatch(writerBounds: Bounds[Int], readerBounds: Bounds[Int]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class PatternMismatch(writerPattern: Option[Pattern], readerPattern: Pattern) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class SchemaComparator(writerNamedSchemas: Map[String, Schema], readerNamedSchemas: Map[String, Schema])

Utility for comparing schemas for compatibility. See compare for more details.

Utility for comparing schemas for compatibility. See compare for more details.

Since this class contains a cache of comparison results, it is meant to be reused between multiple schema comparisons.

Value parameters

readerNamedSchemas

named schemas which may be referred to by the reader schema

writerNamedSchemas

named schemas which may be referred to by the writer schema

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
case class StringLengthBoundsMismatch(writerBounds: Bounds[Int], readerBounds: Bounds[Int]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Base class for compatibility issues which aggregate issues from a subschema. A subschema is a schema used within a structure of another schema, e.g. a schema for an array item, a property, etc.

Base class for compatibility issues which aggregate issues from a subschema. A subschema is a schema used within a structure of another schema, e.g. a schema for an array item, a property, etc.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class TypeMismatch(incompatibleWriterTypes: List[SchemaType], readerTypes: List[SchemaType]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
case class UnsupportedDiscriminatorValues(unsupportedValues: List[String]) extends SchemaCompatibilityIssue

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all