schemas
Type members
Inherited classlikes
This object contains the options for how to encode coproduct JSON schemas.
This object contains the options for how to encode coproduct JSON schemas.
The following Scala coproduct is the candidate example. Each encoding option includes the schema that it would generate for that example.
sealed trait Pet
case class Cat(name: String) extends Pet
case class Lizard(lovesRocks: Boolean) extends Pet
- Inherited from:
- JsonSchemas
Extension methods for values of type F[A]
for which there is an implicit
InvariantFunctor[F]
instance.
Extension methods for values of type F[A]
for which there is an implicit
InvariantFunctor[F]
instance.
- Inherited from:
- InvariantFunctorSyntax
Documentation related methods for annotating schemas. Encoder and decoder interpreters ignore this information.
Documentation related methods for annotating schemas. Encoder and decoder interpreters ignore this information.
- Inherited from:
- JsonSchemas
Implicit methods for values of type JsonSchema
Implicit methods for values of type JsonSchema
- Inherited from:
- JsonSchemas
- Inherited from:
- PartialInvariantFunctorSyntax
Implicit methods for values of type Record
Implicit methods for values of type Record
- Inherited from:
- JsonSchemas
Value members
Inherited methods
- Inherited from:
- JsonSchemas
- Definition Classes
- Inherited from:
- JsonSchemas
Override this method to customize the strategy used to encode the JSON schema of coproducts. By default, it uses CoproductEncoding.OneOf.
Override this method to customize the strategy used to encode the JSON schema of coproducts. By default, it uses CoproductEncoding.OneOf.
- See also:
- Inherited from:
- JsonSchemas
Default discriminator field name for sum types.
Default discriminator field name for sum types.
It defaults to "type", but you can override it twofold:
- by overriding this field you can change default discriminator name algebra-wide
- by using
withDiscriminator
you can specify discriminator field name for specific sum type
- Inherited from:
- JsonSchemas
- Definition Classes
- Inherited from:
- JsonSchemas
- Definition Classes
- Inherited from:
- JsonSchemas
Convenient constructor for enumerations represented by int values.
Convenient constructor for enumerations represented by int values.
- Inherited from:
- JsonSchemas
A schema for a statically known value.
A schema for a statically known value.
- Decoder interpreters first try to decode incoming values with the given
tpe
schema, and then check that it is equal to the givenvalue
, - Encoder interpreters always produce the given
value
, encoded according totpe
, - Documentation interpreters enrich the JSON schema with a
const
property documenting its only possible value (or anenum
property with a single item).
This is useful to model schemas of objects containing extra fields that are absent from their Scala representation. For example, here is a schema for a GeoJSON point:
case class Point(lon: Double, lat: Double)
val pointSchema = (
field("type")(literal("Point")) zip
field[(Double, Double)]("coordinates")
).xmap(Point.tupled)(p => (p.lon, p.lat))
- Inherited from:
- JsonSchemas
- Definition Classes
- Inherited from:
- JsonSchemas
The JSON schema of a coproduct that share the same parent type and thus can be widened to that parent type
The JSON schema of a coproduct that share the same parent type and thus can be widened to that parent type
- Inherited from:
- JsonSchemas
- Inherited from:
- JsonSchemas
Convenient constructor for enumerations represented by string values.
Convenient constructor for enumerations represented by string values.
- Inherited from:
- JsonSchemas
Convert the internal representation of a JSON schema into the public OpenAPI AST
Convert the internal representation of a JSON schema into the public OpenAPI AST
- Inherited from:
- JsonSchemas
Concrete fields
Inherited fields
The JSON codecs used to produce some parts of the documentation.
The JSON codecs used to produce some parts of the documentation.
- Inherited from:
- JsonSchemas
Implicits
Inherited implicits
Extension methods for values of type F[A]
for which there is an implicit
InvariantFunctor[F]
instance.
Extension methods for values of type F[A]
for which there is an implicit
InvariantFunctor[F]
instance.
- Inherited from:
- InvariantFunctorSyntax
Implicit methods for values of type JsonSchema
Implicit methods for values of type JsonSchema
- Inherited from:
- JsonSchemas
- Inherited from:
- PartialInvariantFunctorSyntax
Implicit methods for values of type Record
Implicit methods for values of type Record
- Inherited from:
- JsonSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas
- Inherited from:
- TuplesSchemas