trait JsonEntitiesFromSchemas extends algebra.JsonEntitiesFromSchemas with JsonEntitiesFromCodecs with JsonSchemas
Interpreter for algebra.JsonEntitiesFromSchemas that decodes JSON requests and encodes JSON responses.
- Source
- JsonEntities.scala
- Grouped
- Alphabetic
- By Inheritance
- JsonEntitiesFromSchemas
- JsonSchemas
- TuplesSchemas
- JsonEntitiesFromCodecs
- EndpointsWithCustomErrors
- Urls
- StatusCodes
- Methods
- JsonEntitiesFromCodecs
- JsonEntitiesFromSchemas
- JsonSchemas
- TuplesSchemas
- JsonCodecs
- JsonEntities
- EndpointsWithCustomErrors
- Errors
- Responses
- StatusCodes
- Requests
- SemigroupalSyntax
- Methods
- Urls
- PartialInvariantFunctorSyntax
- InvariantFunctorSyntax
- AnyRef
- Any
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef
Extension methods for values of type
F[A]
for which there is an implicitInvariantFunctor[F]
instance.Extension methods for values of type
F[A]
for which there is an implicitInvariantFunctor[F]
instance.- Definition Classes
- InvariantFunctorSyntax
- implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef
- Definition Classes
- PartialInvariantFunctorSyntax
- implicit class SemigroupalSyntax[A, F[_]] extends AnyRef
- Definition Classes
- SemigroupalSyntax
- case class CallbackDocs(method: EndpointsWithCustomErrors.Method, entity: EndpointsWithCustomErrors.RequestEntity[_], response: EndpointsWithCustomErrors.Response[_], requestDocs: Documentation = None) extends Product with Serializable
- method
HTTP method used for the callback
- entity
Contents of the callback message
- response
Expected response
- Definition Classes
- EndpointsWithCustomErrors
- case class EndpointDocs(summary: Documentation = None, description: Documentation = None, tags: List[String] = Nil, callbacks: Map[String, CallbacksDocs] = Map.empty, deprecated: Boolean = false) extends Product with Serializable
- summary
Short description
- description
Detailed description
- tags
OpenAPI tags
- callbacks
Callbacks indexed by event name
- deprecated
Indicates whether this endpoint is deprecated or not
- Definition Classes
- EndpointsWithCustomErrors
- implicit final class EnumOps[A] extends JsonSchemaDocumentationOps[A]
- Definition Classes
- JsonSchemas
- sealed trait JsonSchemaDocumentationOps[A] extends AnyRef
Documentation related methods for annotating schemas.
Documentation related methods for annotating schemas. Encoder and decoder interpreters ignore this information.
- Definition Classes
- JsonSchemas
- implicit final class JsonSchemaOps[A] extends JsonSchemaDocumentationOps[A]
Implicit methods for values of type JsonSchema
Implicit methods for values of type JsonSchema
- Definition Classes
- JsonSchemas
- implicit final class RecordOps[A] extends JsonSchemaDocumentationOps[A]
Implicit methods for values of type Record
Implicit methods for values of type Record
- Definition Classes
- JsonSchemas
- implicit final class TaggedOps[A] extends JsonSchemaDocumentationOps[A]
- Definition Classes
- JsonSchemas
- implicit class ResponseSyntax[A] extends AnyRef
Extension methods for Response.
- implicit class PathOps[A] extends AnyRef
Convenient methods for Paths.
- implicit class QueryStringSyntax[A] extends AnyRef
Extension methods on QueryString.
Extension methods on QueryString.
- Definition Classes
- Urls
- case class Endpoint[A, B](request: Request[A], response: Response[B]) extends Product with Serializable
- Definition Classes
- EndpointsWithCustomErrors
- type CallbacksDocs = Map[String, CallbackDocs]
Callbacks indexed by URL pattern
Callbacks indexed by URL pattern
- Definition Classes
- EndpointsWithCustomErrors
- See also
Swagger Documentation at https://swagger.io/docs/specification/callbacks/
- abstract type ClientErrors
Errors in a request built by a client
Errors in a request built by a client
- Definition Classes
- Errors
- abstract type Effect[A]
- Definition Classes
- EndpointsWithCustomErrors → Urls
- type Enum[A] = JsonSchema[A]
A JSON schema for enumerations, i.e.
A JSON schema for enumerations, i.e. types that have a restricted set of values.
- Definition Classes
- JsonSchemas → JsonSchemas
- Note
This type has implicit methods provided by the EnumOps class.
- type JsonCodec[A] = JsonSchema[A]
A JSON codec type class
A JSON codec type class
- Definition Classes
- JsonEntitiesFromSchemas → JsonCodecs
- type JsonRequest[A] = JsonCodec[A]
Type class defining how to represent the
A
information as a JSON request entityType class defining how to represent the
A
information as a JSON request entity- Definition Classes
- JsonCodecs → JsonEntities
- type JsonResponse[A] = JsonCodec[A]
Type class defining how to represent the
A
information as a JSON response entityType class defining how to represent the
A
information as a JSON response entity- Definition Classes
- JsonCodecs → JsonEntities
- type Method = org.http4s.Method
HTTP Method
- type Params = Map[String, Seq[String]]
- Definition Classes
- Urls
- type QueryString[A] = (Params) => Validated[A]
A query string carrying an
A
informationA query string carrying an
A
informationQueryString values can be created with the qs operation, and can be combined with the
&
operation:val queryPageAndLang: QueryString[(Int, Option[String])] = qs[Int]("page") & qs[Option[String]]("lang")
- Definition Classes
- Urls → Urls
- Note
This type has implicit methods provided by the QueryStringSyntax, InvariantFunctorSyntax, and the PartialInvariantFunctorSyntax classes.
- type Request[A] = PartialFunction[org.http4s.Request[Effect], Effect[Either[org.http4s.Response[Effect], A]]]
Information carried by a whole request (headers and entity)
Information carried by a whole request (headers and entity)
- Definition Classes
- EndpointsWithCustomErrors → Requests
- Note
This type has implicit methods provided by the PartialInvariantFunctorSyntax class.
- type RequestEntity[A] = (org.http4s.Request[Effect]) => Effect[Either[org.http4s.Response[Effect], A]]
Information carried by request entity
Information carried by request entity
- Definition Classes
- EndpointsWithCustomErrors → Requests
- Note
This type has implicit methods provided by the PartialInvariantFunctorSyntax class.
- type RequestHeaders[A] = (Headers) => Validated[A]
Information carried by requests’ headers.
Information carried by requests’ headers.
You can construct values of type
RequestHeaders
by using the operations requestHeader, optRequestHeader, or emptyRequestHeaders.- Definition Classes
- EndpointsWithCustomErrors → Requests
- Note
This type has implicit methods provided by the SemigroupalSyntax and PartialInvariantFunctorSyntax classes.
- type Response[A] = (A) => org.http4s.Response[Effect]
An HTTP response (status, headers, and entity) carrying an information of type A
An HTTP response (status, headers, and entity) carrying an information of type A
- Definition Classes
- EndpointsWithCustomErrors → Responses
- Note
This type has implicit methods provided by the InvariantFunctorSyntax and ResponseSyntax classes
- type ResponseEntity[A] = EntityEncoder[Effect, A]
An HTTP response entity carrying an information of type A
An HTTP response entity carrying an information of type A
- Definition Classes
- EndpointsWithCustomErrors → Responses
- Note
This type has implicit methods provided by the InvariantFunctorSyntax class
- type ResponseHeaders[A] = (A) => Headers
Information carried by responses’ headers.
Information carried by responses’ headers.
You can construct values of type
ResponseHeaders
by using the operations responseHeader, optResponseHeader, or emptyResponseHeaders.- Definition Classes
- EndpointsWithCustomErrors → Responses
- Note
This type has implicit methods provided by the SemigroupalSyntax and InvariantFunctorSyntax classes.
- abstract type ServerError
Error raised by the business logic of a server
Error raised by the business logic of a server
- Definition Classes
- Errors
- type StatusCode = Status
HTTP Status Code
HTTP Status Code
- Definition Classes
- StatusCodes → StatusCodes
- trait Path[A] extends EndpointsWithCustomErrors.Url[A]
- Definition Classes
- Urls
- trait QueryStringParam[A] extends AnyRef
- Definition Classes
- Urls
- trait Segment[A] extends AnyRef
- Definition Classes
- Urls
- trait Url[A] extends AnyRef
- Definition Classes
- Urls
- trait JsonSchema[A] extends AnyRef
- Definition Classes
- JsonSchemas
- trait Record[A] extends JsonSchema[A]
- Definition Classes
- JsonSchemas
- abstract class Tagged[A] extends Record[A]
- Definition Classes
- JsonSchemas
Abstract Value Members
- implicit abstract def Effect: Sync[Effect]
- Definition Classes
- EndpointsWithCustomErrors
- abstract def clientErrorsResponseEntity: ResponseEntity[ClientErrors]
Format of the response entity carrying the client errors.
Format of the response entity carrying the client errors.
- Definition Classes
- Errors
- abstract def clientErrorsToInvalid(clientErrors: ClientErrors): Invalid
Convert the ClientErrors type into the endpoints internal client error type
Convert the ClientErrors type into the endpoints internal client error type
- Definition Classes
- Errors
- abstract def invalidToClientErrors(invalid: Invalid): ClientErrors
Convert the endpoints internal client error type into the ClientErrors type
Convert the endpoints internal client error type into the ClientErrors type
- Definition Classes
- Errors
- abstract def serverErrorResponseEntity: ResponseEntity[ServerError]
Format of the response entity carrying the server error.
Format of the response entity carrying the server error.
- Definition Classes
- Errors
- abstract def serverErrorToThrowable(serverError: ServerError): Throwable
Convert the ServerError type into the endpoints internal server error type
Convert the ServerError type into the endpoints internal server error type
- Definition Classes
- Errors
- abstract def throwableToServerError(throwable: Throwable): ServerError
Convert the endpoints internal server error type into the ServerError type
Convert the endpoints internal server error type into the ServerError type
- Definition Classes
- Errors
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def ->[B](y: B): (JsonEntitiesFromSchemas, B)
- Implicit
- This member is added by an implicit conversion from JsonEntitiesFromSchemas toArrowAssoc[JsonEntitiesFromSchemas] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def Accepted: Status
- Definition Classes
- StatusCodes → StatusCodes
- def BadRequest: Status
- Definition Classes
- StatusCodes → StatusCodes
- Note
You should use the
badRequest
constructor provided by the endpoints.algebra.Responses trait to ensure that errors produced by endpoints are consistently handled by interpreters.
- def Created: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Delete: Method
- def Forbidden: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Get: Method
- def InternalServerError: Status
- Definition Classes
- StatusCodes → StatusCodes
- Note
You should use the
internalServerError
constructor provided by the endpoints.algebra.Responses trait to ensure that errors produced by endpoints are consistently handled by interpreters.
- def NoContent: Status
- Definition Classes
- StatusCodes → StatusCodes
- def NotFound: Status
- Definition Classes
- StatusCodes → StatusCodes
- def NotImplemented: Status
- Definition Classes
- StatusCodes → StatusCodes
- def OK: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Options: Method
- def Patch: Method
- def Post: Method
- def Put: Method
- def Unauthorized: Status
- Definition Classes
- StatusCodes → StatusCodes
- implicit def arrayJsonSchema[C[X] <: Seq[X], A](implicit jsonSchema: JsonSchema[A], factory: Factory[A, C[A]]): JsonSchema[C[A]]
A JSON schema for sequences
A JSON schema for sequences
- Definition Classes
- JsonSchemas → JsonSchemas
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def badRequest[A, R](docs: Documentation = None, headers: ResponseHeaders[A] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[ClientErrors, A, R]): Response[R]
Bad Request (400) response, with an entity of type
ClientErrors
.Bad Request (400) response, with an entity of type
ClientErrors
.- Definition Classes
- Responses
- See also
endpoints.algebra.Errors and endpoints.algebra.BuiltInErrors
- implicit def bigdecimalJsonSchema: JsonSchema[BigDecimal]
A JSON schema for type
BigDecimal
A JSON schema for type
BigDecimal
- Definition Classes
- JsonSchemas → JsonSchemas
- implicit def booleanJsonSchema: JsonSchema[Boolean]
A JSON schema for type
Boolean
A JSON schema for type
Boolean
- Definition Classes
- JsonSchemas → JsonSchemas
- implicit def booleanQueryString: QueryStringParam[Boolean]
Query string parameter containing a
Boolean
valueQuery string parameter containing a
Boolean
value- Definition Classes
- Urls
- implicit def byteJsonSchema: JsonSchema[Byte]
A JSON schema for type
Byte
A JSON schema for type
Byte
- Definition Classes
- JsonSchemas → JsonSchemas
- def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]
Chains the two paths
- def choiceResponse[A, B](responseA: Response[A], responseB: Response[B]): Response[Either[A, B]]
Alternative between two possible choices of responses.
Alternative between two possible choices of responses.
Server interpreters construct either one or the other response. Client interpreters accept either one or the other response. Documentation interpreters list all the possible responses.
- Definition Classes
- EndpointsWithCustomErrors → Responses
- def choiceTagged[A, B](taggedA: Tagged[A], taggedB: Tagged[B]): Tagged[Either[A, B]]
The JSON schema of a coproduct made of the given alternative tagged records
The JSON schema of a coproduct made of the given alternative tagged records
- Definition Classes
- JsonSchemas → JsonSchemas
- lazy val clientErrorsResponse: Response[ClientErrors]
Response used by the endpoints library when decoding a request fails.
Response used by the endpoints library when decoding a request fails.
The provided implementation forwards to
badRequest
.- Definition Classes
- Errors
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]
Concatenates two
QueryString
s - def defaultDiscriminatorName: String
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- Definition Classes
- JsonSchemas
- implicit final def defaultStringJsonSchema: JsonSchema[String]
A JSON schema for type
String
A JSON schema for type
String
- Definition Classes
- JsonSchemas
- final def delete[UrlP, HeadersP, Out](url: Url[UrlP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
Helper method to perform DELETE request
Helper method to perform DELETE request
- UrlP
Payload carried by url
- HeadersP
Payload carried by headers
- Definition Classes
- Requests
- implicit def doubleJsonSchema: JsonSchema[Double]
A JSON schema for type
Double
A JSON schema for type
Double
- Definition Classes
- JsonSchemas → JsonSchemas
- implicit def doubleQueryString: QueryStringParam[Double]
Codec for query string parameters of type
Double
Codec for query string parameters of type
Double
- Definition Classes
- Urls
- implicit def doubleSegment: Segment[Double]
Segment codec for type
Double
Segment codec for type
Double
- Definition Classes
- Urls
- implicit def dummyPathToUrl[A](p: Path[A]): Url[A]
Implicit conversion to get rid of intellij errors when defining paths.
Implicit conversion to get rid of intellij errors when defining paths. Effectively should not be called.
- Definition Classes
- Urls
- See also
- lazy val emptyRecord: Record[Unit]
The JSON schema of a record with no fields
The JSON schema of a record with no fields
- Definition Classes
- JsonSchemas → JsonSchemas
- def emptyRequest: RequestEntity[Unit]
Empty request -- request without a body.
Empty request -- request without a body. Use
description
of endpoints.algebra.Endpoints#endpoint to document an empty body.- Definition Classes
- EndpointsWithCustomErrors → Requests
- def emptyRequestHeaders: RequestHeaders[Unit]
HEADERS
HEADERS
- Definition Classes
- EndpointsWithCustomErrors → Requests
- def emptyResponse: ResponseEntity[Unit]
Empty response entity
Empty response entity
- Definition Classes
- EndpointsWithCustomErrors → Responses
- def emptyResponseHeaders: ResponseHeaders[Unit]
No particular response header.
No particular response header. Client interpreters should ignore information carried by response headers.
- Definition Classes
- EndpointsWithCustomErrors → Responses
- def endpoint[A, B](request: Request[A], response: Response[B], docs: EndpointDocs = EndpointDocs()): Endpoint[A, B]
HTTP endpoint.
HTTP endpoint.
- request
Request
- response
Response
- docs
Documentation (used by documentation interpreters)
- Definition Classes
- EndpointsWithCustomErrors → EndpointsWithCustomErrors
- def ensuring(cond: (JsonEntitiesFromSchemas) => Boolean, msg: => Any): JsonEntitiesFromSchemas
- Implicit
- This member is added by an implicit conversion from JsonEntitiesFromSchemas toEnsuring[JsonEntitiesFromSchemas] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (JsonEntitiesFromSchemas) => Boolean): JsonEntitiesFromSchemas
- Implicit
- This member is added by an implicit conversion from JsonEntitiesFromSchemas toEnsuring[JsonEntitiesFromSchemas] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): JsonEntitiesFromSchemas
- Implicit
- This member is added by an implicit conversion from JsonEntitiesFromSchemas toEnsuring[JsonEntitiesFromSchemas] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): JsonEntitiesFromSchemas
- Implicit
- This member is added by an implicit conversion from JsonEntitiesFromSchemas toEnsuring[JsonEntitiesFromSchemas] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def enumeration[A](values: Seq[A])(tpe: JsonSchema[A]): Enum[A]
Promotes a schema to an enumeration.
Promotes a schema to an enumeration. Decoding fails if the input string does not match the encoded values of any of the possible values. Encoding does never fail, even if the value is not contained in the set of possible values.
- Definition Classes
- JsonSchemas → JsonSchemas
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def field[A](name: String, documentation: Option[String] = None)(implicit tpe: JsonSchema[A]): Record[A]
The JSON schema of a record with a single field
name
of typeA
The JSON schema of a record with a single field
name
of typeA
- Definition Classes
- JsonSchemas → JsonSchemas
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- implicit def floatJsonSchema: JsonSchema[Float]
A JSON schema for type
Float
A JSON schema for type
Float
- Definition Classes
- JsonSchemas → JsonSchemas
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from JsonEntitiesFromSchemas toStringFormat[JsonEntitiesFromSchemas] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- final def get[UrlP, HeadersP, Out](url: Url[UrlP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
Helper method to perform GET request
Helper method to perform GET request
- UrlP
Payload carried by url
- HeadersP
Payload carried by headers
- Definition Classes
- Requests
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def handleClientErrors(invalid: Invalid): org.http4s.Response[Effect]
This method is called by endpoints when decoding a request failed.
This method is called by endpoints when decoding a request failed.
The provided implementation calls
clientErrorsResponse
to construct a response containing the errors.This method can be overridden to customize the error reporting logic.
- Definition Classes
- EndpointsWithCustomErrors
- def handleServerError(throwable: Throwable): org.http4s.Response[Effect]
This method is called by endpoints when an exception is thrown during request processing.
This method is called by endpoints when an exception is thrown during request processing.
The provided implementation calls serverErrorResponse to construct a response containing the error message.
This method can be overridden to customize the error reporting logic.
- Definition Classes
- EndpointsWithCustomErrors
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- implicit def intJsonSchema: JsonSchema[Int]
A JSON schema for type
Int
A JSON schema for type
Int
- Definition Classes
- JsonSchemas → JsonSchemas
- implicit def intQueryString: QueryStringParam[Int]
Ability to define
Int
query string parametersAbility to define
Int
query string parameters- Definition Classes
- Urls
- implicit def intSegment: Segment[Int]
Ability to define
Int
path segmentsAbility to define
Int
path segments- Definition Classes
- Urls
- final def internalServerError[A, R](docs: Documentation = None, headers: ResponseHeaders[A] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[ServerError, A, R]): Response[R]
Internal Server Error (500) response, with an entity of type
ServerError
.Internal Server Error (500) response, with an entity of type
ServerError
.- Definition Classes
- Responses
- See also
endpoints.algebra.Errors and endpoints.algebra.BuiltInErrors
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def jsonRequest[A](implicit codec: JsonCodec[A]): RequestEntity[A]
Defines a
RequestEntity[A]
given an implicitJsonRequest[A]
Defines a
RequestEntity[A]
given an implicitJsonRequest[A]
- Definition Classes
- JsonEntitiesFromCodecs → JsonEntities
- def jsonResponse[A](implicit codec: JsonCodec[A]): ResponseEntity[A]
Defines a
Response[A]
given an implicitJsonResponse[A]
Defines a
Response[A]
given an implicitJsonResponse[A]
- Definition Classes
- JsonEntitiesFromCodecs → JsonEntities
- implicit def jsonSchemaPartialInvFunctor: PartialInvariantFunctor[JsonSchema]
Provides
xmap
andxmapPartial
operations.Provides
xmap
andxmapPartial
operations.- Definition Classes
- JsonSchemas → JsonSchemas
- See also
- def lazyRecord[A](schema: => Record[A], name: String): JsonSchema[A]
Captures a lazy reference to a JSON schema currently being defined:
Captures a lazy reference to a JSON schema currently being defined:
case class Recursive(next: Option[Recursive]) val recursiveSchema: Record[Recursive] = ( optField("next")(lazyRecord(recursiveSchema, "Rec")) ).xmap(Recursive)(_.next)
Interpreters should return a JsonSchema value that does not evaluate the given
schema
unless it is effectively used.- schema
The record JSON schema whose evaluation should be delayed
- name
A unique name identifying the schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def lazyTagged[A](schema: => Tagged[A], name: String): JsonSchema[A]
Captures a lazy reference to a JSON schema currently being defined.
Captures a lazy reference to a JSON schema currently being defined.
Interpreters should return a JsonSchema value that does not evaluate the given
schema
unless it is effectively used.- schema
The tagged JSON schema whose evaluation should be delayed
- name
A unique name identifying the schema
- Definition Classes
- JsonSchemas → JsonSchemas
- final def literal[A](value: A)(implicit tpe: JsonSchema[A]): JsonSchema[Unit]
A schema for a statically known value.
A schema for a statically known value.
Encoders always produce the given
value
, encoded according totpe
. Decoders first try to decode incoming values with the giventpe
schema, and then check that it is equal to the givenvalue
.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))
- Definition Classes
- JsonSchemas
- implicit def longJsonSchema: JsonSchema[Long]
A JSON schema for type
Long
A JSON schema for type
Long
- Definition Classes
- JsonSchemas → JsonSchemas
- implicit def longQueryString: QueryStringParam[Long]
Query string parameter containing a
Long
valueQuery string parameter containing a
Long
value- Definition Classes
- Urls
- implicit def longSegment: Segment[Long]
Segment containing a
Long
valueSegment containing a
Long
value- Definition Classes
- Urls
- implicit def mapJsonSchema[A](implicit jsonSchema: JsonSchema[A]): JsonSchema[Map[String, A]]
A JSON schema for maps with string keys
A JSON schema for maps with string keys
- Definition Classes
- JsonSchemas → JsonSchemas
- def namedEnum[A](schema: Enum[A], name: String): Enum[A]
Annotates the enum JSON schema with a name
Annotates the enum JSON schema with a name
- Definition Classes
- JsonSchemas → JsonSchemas
- def namedRecord[A](schema: Record[A], name: String): Record[A]
Annotates the record JSON schema with a name
Annotates the record JSON schema with a name
- Definition Classes
- JsonSchemas → JsonSchemas
- def namedTagged[A](schema: Tagged[A], name: String): Tagged[A]
Annotates the tagged JSON schema with a name
Annotates the tagged JSON schema with a name
- Definition Classes
- JsonSchemas → JsonSchemas
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def ok[A, B, R](entity: ResponseEntity[A], docs: Documentation = None, headers: ResponseHeaders[B] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[A, B, R]): Response[R]
OK (200) Response with the given entity
OK (200) Response with the given entity
- Definition Classes
- Responses
- def optField[A](name: String, documentation: Option[String] = None)(implicit tpe: JsonSchema[A]): Record[Option[A]]
The JSON schema of a record with a single optional field
name
of typeA
The JSON schema of a record with a single optional field
name
of typeA
Decoder interpreters successfully decode
None
if the field is absent or if it is present but has the valuenull
. Decoder interpreters fail if the field is present but contains an invalid value. Encoder interpreters can omit the field or emit a field with anull
value. Documentation interpreters must mark the field as optional.- Definition Classes
- JsonSchemas → JsonSchemas
- def optRequestHeader(name: String, docs: Documentation): RequestHeaders[Option[String]]
An optional request header
An optional request header
- name
Header name (e.g., “Authorization”)
- Definition Classes
- EndpointsWithCustomErrors → Requests
- def optResponseHeader(name: String, docs: Documentation = None): ResponseHeaders[Option[String]]
Response headers optionally containing a header with the given
name
.Response headers optionally containing a header with the given
name
. Client interpreters should model the header value asSome[String]
, orNone
if the response header is missing. Server interpreters should produce such a response header. Documentation interpreters should document this header.- Definition Classes
- EndpointsWithCustomErrors → Responses
- implicit def optionalQueryStringParam[A](implicit param: QueryStringParam[A]): QueryStringParam[Option[A]]
Make a query string parameter optional:
Make a query string parameter optional:
path / "articles" /? qs[Option[Int]]("page")
Client interpreters must omit optional query string parameters that are empty. Server interpreters must accept incoming requests whose optional query string parameters are missing. Server interpreters must report a failure for incoming requests whose optional query string parameters are present, but malformed.
- def orFallbackToJsonSchema[A, B](schemaA: JsonSchema[A], schemaB: JsonSchema[B]): JsonSchema[Either[A, B]]
A schema that can be either
schemaA
orschemaB
.A schema that can be either
schemaA
orschemaB
.Documentation interpreter produce a
oneOf
JSON schema. Encoder interpreters forward to eitherschemaA
orschemaB
. Decoder interpreters first try to decode withschemaA
, and fallback toschemaB
in case of failure.The difference between this operation and the operation
orElse
on “tagged” schemas is that this operation does not rely on a discriminator field between the alternative schemas. As a consequence, decoding is slower than with “tagged” schemas and provides less precise error messages.- Definition Classes
- JsonSchemas → JsonSchemas
- Note
Be careful to use disjoint schemas for
A
andB
(none must be a subtype of the other), otherwise, a value of typeB
might also be successfully decoded as a value of typeA
, and this could have surprising consequences.
- val path: Path[Unit]
An empty path.
An empty path.
Useful to begin a path definition:
path / "foo" / segment[Int] /? qs[String]("bar")
- Definition Classes
- Urls
- implicit def pathPartialInvariantFunctor: PartialInvariantFunctor[Path]
Provides
xmap
andxmapPartial
operations. - final def post[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
Helper method to perform POST request
- final def put[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
Helper method to perform PUT request
- def qs[A](name: String, docs: Documentation = None)(implicit value: QueryStringParam[A]): QueryString[A]
Builds a
QueryString
with one parameter. - implicit def queryStringParamPartialInvariantFunctor: PartialInvariantFunctor[QueryStringParam]
Provides
xmap
andxmapPartial
operations. - implicit def queryStringPartialInvariantFunctor: PartialInvariantFunctor[QueryString]
Provides
xmap
andxmapPartial
operations. - implicit def recordPartialInvFunctor: PartialInvariantFunctor[Record]
Provides
xmap
andxmapPartial
operations.Provides
xmap
andxmapPartial
operations.- Definition Classes
- JsonSchemas → JsonSchemas
- See also
- def remainingSegments(name: String = "", docs: Documentation = None): Path[String]
The remaining segments of the path.
- implicit def repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit param: QueryStringParam[A], factory: Factory[A, CC[A]]): QueryStringParam[CC[A]]
Support query string parameters with multiple values:
Support query string parameters with multiple values:
path / "articles" /? qs[List[Long]]("id")
Server interpreters must accept incoming requests where such parameters are missing (in such a case, its value is an empty collection), and report a failure if at least one value is malformed.
- def request[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](method: Method, url: Url[UrlP], entity: RequestEntity[BodyP] = emptyRequest, docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
Request for given parameters
Request for given parameters
- UrlP
Payload carried by url
- BodyP
Payload carried by body
- HeadersP
Payload carried by headers
- UrlAndBodyPTupled
Payloads of Url and Body tupled together by Tupler
- method
Request method
- url
Request URL
- entity
Request entity
- docs
Request documentation
- headers
Request headers
- Definition Classes
- EndpointsWithCustomErrors → Requests
- implicit def requestEntityPartialInvariantFunctor: PartialInvariantFunctor[RequestEntity]
Provides the operations
xmap
andxmapPartial
.Provides the operations
xmap
andxmapPartial
.- Definition Classes
- EndpointsWithCustomErrors → Requests
- See also
- def requestHeader(name: String, docs: Documentation): RequestHeaders[String]
A required request header
A required request header
- name
Header name (e.g., “Authorization”)
- Definition Classes
- EndpointsWithCustomErrors → Requests
- implicit def requestHeadersPartialInvariantFunctor: PartialInvariantFunctor[RequestHeaders]
Provides the operations
xmap
andxmapPartial
.Provides the operations
xmap
andxmapPartial
.- Definition Classes
- EndpointsWithCustomErrors → Requests
- See also
- implicit def requestHeadersSemigroupal: Semigroupal[RequestHeaders]
Provides
++
operation.Provides
++
operation.- Definition Classes
- EndpointsWithCustomErrors → Requests
- See also
- implicit def requestPartialInvariantFunctor: PartialInvariantFunctor[Request]
Provides the operations
xmap
andxmapPartial
.Provides the operations
xmap
andxmapPartial
.- Definition Classes
- EndpointsWithCustomErrors → Requests
- See also
- def response[A, B, R](statusCode: StatusCode, entity: ResponseEntity[A], docs: Documentation, headers: ResponseHeaders[B])(implicit tupler: Tupler.Aux[A, B, R]): Response[R]
Server interpreters construct a response with the given status and entity.
Server interpreters construct a response with the given status and entity. Client interpreters accept a response only if it has a corresponding status code.
- statusCode
Response status code
- entity
Response entity
- docs
Response documentation
- headers
Response headers
- Definition Classes
- EndpointsWithCustomErrors → Responses
- implicit def responseEntityInvariantFunctor: InvariantFunctor[ResponseEntity]
- Definition Classes
- EndpointsWithCustomErrors → Responses
- def responseHeader(name: String, docs: Documentation = None): ResponseHeaders[String]
Response headers containing a header with the given
name
.Response headers containing a header with the given
name
. Client interpreters should model the header value asString
, or fail if the response header is missing. Server interpreters should produce such a response header. Documentation interpreters should document this header.Example:
val versionedResource: Endpoint[Unit, (SomeResource, String)] = endpoint( get(path / "versioned-resource"), ok( jsonResponse[SomeResource], headers = responseHeader("ETag") ) )
- Definition Classes
- EndpointsWithCustomErrors → Responses
- implicit def responseHeadersInvariantFunctor: InvariantFunctor[ResponseHeaders]
Provides
xmap
operation.Provides
xmap
operation.- Definition Classes
- EndpointsWithCustomErrors → Responses
- See also
- implicit def responseHeadersSemigroupal: Semigroupal[ResponseHeaders]
Provides
++
operation.Provides
++
operation.- Definition Classes
- EndpointsWithCustomErrors → Responses
- See also
- implicit lazy val responseInvariantFunctor: InvariantFunctor[Response]
Provides the operation
xmap
to the typeResponse
Provides the operation
xmap
to the typeResponse
- Definition Classes
- EndpointsWithCustomErrors → Responses
- See also
- def routesFromEndpoints(endpoints: PartialFunction[org.http4s.Request[Effect], Effect[org.http4s.Response[Effect]]]*): PartialFunction[org.http4s.Request[Effect], Effect[org.http4s.Response[Effect]]]
- Definition Classes
- EndpointsWithCustomErrors
- def segment[A](name: String = "", docs: Documentation = None)(implicit A: Segment[A]): Path[A]
A path segment carrying an
A
information - implicit def segmentPartialInvariantFunctor: PartialInvariantFunctor[Segment]
Provides
xmap
andxmapPartial
operations. - lazy val serverErrorResponse: Response[ServerError]
Response used by the endpoints library when the business logic of an endpoint fails.
Response used by the endpoints library when the business logic of an endpoint fails.
The provided implementation forwards to
internalServerError
- Definition Classes
- Errors
- def staticPathSegment(segment: String): Path[Unit]
A path segment whose value is the given
segment
- def stringCodec[A](implicit codec: JsonCodec[A]): Codec[String, A]
Turns a JsonCodec[A] into a Codec[String, A]
Turns a JsonCodec[A] into a Codec[String, A]
- Definition Classes
- JsonEntitiesFromSchemas → JsonEntitiesFromCodecs
- final def stringEnumeration[A](values: Seq[A])(encode: (A) => String)(implicit tpe: JsonSchema[String]): Enum[A]
Convenient constructor for enumerations represented by string values.
Convenient constructor for enumerations represented by string values.
- Definition Classes
- JsonSchemas
- def stringJsonSchema(format: Option[String]): JsonSchema[String]
A JSON schema for type
String
.A JSON schema for type
String
.- format
An additional semantic information about the underlying format of the string
- Definition Classes
- JsonSchemas → JsonSchemas
- See also
https://json-schema.org/understanding-json-schema/reference/string.html#format
- implicit def stringQueryString: QueryStringParam[String]
Ability to define
String
query string parameters - implicit def stringSegment: Segment[String]
Ability to define
String
path segments Servers should return an URL-decoded string value, and clients should take an URL-decoded string value. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- implicit def taggedPartialInvFunctor: PartialInvariantFunctor[Tagged]
Provides
xmap
andxmapPartial
operations.Provides
xmap
andxmapPartial
operations.- Definition Classes
- JsonSchemas → JsonSchemas
- See also
- def taggedRecord[A](recordA: Record[A], tag: String): Tagged[A]
Tags a schema for type
A
with the given tag nameTags a schema for type
A
with the given tag name- Definition Classes
- JsonSchemas → JsonSchemas
- def textRequest: RequestEntity[String]
Request with a
String
body.Request with a
String
body.- Definition Classes
- EndpointsWithCustomErrors → Requests
- def textResponse: ResponseEntity[String]
Text response entity
Text response entity
- Definition Classes
- EndpointsWithCustomErrors → Responses
- def toString(): String
- Definition Classes
- AnyRef → Any
- def tryParseString[A](type: String)(parse: (String) => A): (String) => Validated[A]
- Definition Classes
- Urls
- implicit def tuple10JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)]
A JSON schema for a tuple of 10 elements.
A JSON schema for a tuple of 10 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple11JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)]
A JSON schema for a tuple of 11 elements.
A JSON schema for a tuple of 11 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple12JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)]
A JSON schema for a tuple of 12 elements.
A JSON schema for a tuple of 12 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple13JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)]
A JSON schema for a tuple of 13 elements.
A JSON schema for a tuple of 13 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple14JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)]
A JSON schema for a tuple of 14 elements.
A JSON schema for a tuple of 14 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple15JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)]
A JSON schema for a tuple of 15 elements.
A JSON schema for a tuple of 15 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple16JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)]
A JSON schema for a tuple of 16 elements.
A JSON schema for a tuple of 16 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple17JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)]
A JSON schema for a tuple of 17 elements.
A JSON schema for a tuple of 17 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple18JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)]
A JSON schema for a tuple of 18 elements.
A JSON schema for a tuple of 18 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple19JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18], schema19: JsonSchema[T19]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)]
A JSON schema for a tuple of 19 elements.
A JSON schema for a tuple of 19 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple20JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18], schema19: JsonSchema[T19], schema20: JsonSchema[T20]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)]
A JSON schema for a tuple of 20 elements.
A JSON schema for a tuple of 20 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple21JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18], schema19: JsonSchema[T19], schema20: JsonSchema[T20], schema21: JsonSchema[T21]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)]
A JSON schema for a tuple of 21 elements.
A JSON schema for a tuple of 21 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple22JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18], schema19: JsonSchema[T19], schema20: JsonSchema[T20], schema21: JsonSchema[T21], schema22: JsonSchema[T22]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)]
A JSON schema for a tuple of 22 elements.
A JSON schema for a tuple of 22 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple2JsonSchema[T1, T2](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2]): JsonSchema[(T1, T2)]
A JSON schema for a tuple of 2 elements.
A JSON schema for a tuple of 2 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple3JsonSchema[T1, T2, T3](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3]): JsonSchema[(T1, T2, T3)]
A JSON schema for a tuple of 3 elements.
A JSON schema for a tuple of 3 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple4JsonSchema[T1, T2, T3, T4](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4]): JsonSchema[(T1, T2, T3, T4)]
A JSON schema for a tuple of 4 elements.
A JSON schema for a tuple of 4 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple5JsonSchema[T1, T2, T3, T4, T5](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5]): JsonSchema[(T1, T2, T3, T4, T5)]
A JSON schema for a tuple of 5 elements.
A JSON schema for a tuple of 5 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple6JsonSchema[T1, T2, T3, T4, T5, T6](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6]): JsonSchema[(T1, T2, T3, T4, T5, T6)]
A JSON schema for a tuple of 6 elements.
A JSON schema for a tuple of 6 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple7JsonSchema[T1, T2, T3, T4, T5, T6, T7](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7)]
A JSON schema for a tuple of 7 elements.
A JSON schema for a tuple of 7 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple8JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8)]
A JSON schema for a tuple of 8 elements.
A JSON schema for a tuple of 8 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def tuple9JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]
A JSON schema for a tuple of 9 elements.
A JSON schema for a tuple of 9 elements.
Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.
- Definition Classes
- TuplesSchemas → TuplesSchemas
- implicit def urlPartialInvariantFunctor: PartialInvariantFunctor[Url]
Provides
xmap
andxmapPartial
operations - def urlWithQueryString[A, B](path: Path[A], qs: QueryString[B])(implicit tupler: Tupler[A, B]): Url[Out]
Builds an URL from the given path and query string
- val utf8Name: String
- Definition Classes
- Urls
- implicit final lazy val uuidJsonSchema: JsonSchema[UUID]
A JSON schema for type
UUID
A JSON schema for type
UUID
- Definition Classes
- JsonSchemas
- implicit def uuidQueryString: QueryStringParam[UUID]
Ability to define
UUID
query string parametersAbility to define
UUID
query string parameters- Definition Classes
- Urls
- implicit def uuidSegment: Segment[UUID]
Ability to define
UUID
path segmentsAbility to define
UUID
path segments- Definition Classes
- Urls
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wheneverFound[A](responseA: Response[A], notFoundDocs: Documentation = None): Response[Option[A]]
Turns a
Response[A]
into aResponse[Option[A]]
.Turns a
Response[A]
into aResponse[Option[A]]
.Interpreters represent
None
with an empty HTTP response whose status code is 404 (Not Found).- Definition Classes
- Responses
- def withDescriptionEnum[A](schema: Enum[A], description: String): Enum[A]
Add a description to the given enum JSON schema
Add a description to the given enum JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withDescriptionJsonSchema[A](schema: JsonSchema[A], description: String): JsonSchema[A]
Add a description to the given JSON schema
Add a description to the given JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withDescriptionRecord[A](schema: Record[A], description: String): Record[A]
Add a description to the given record JSON schema
Add a description to the given record JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withDescriptionTagged[A](schema: Tagged[A], description: String): Tagged[A]
Add a description to the given tagged JSON schema
Add a description to the given tagged JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withDiscriminatorTagged[A](tagged: Tagged[A], discriminatorName: String): Tagged[A]
Allows to specify name of discriminator field for sum type
Allows to specify name of discriminator field for sum type
- Definition Classes
- JsonSchemas → JsonSchemas
- def withExampleEnum[A](schema: Enum[A], example: A): Enum[A]
Include an example value within the given enum JSON schema
Include an example value within the given enum JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withExampleJsonSchema[A](schema: JsonSchema[A], example: A): JsonSchema[A]
Include an example value within the given JSON schema
Include an example value within the given JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withExampleRecord[A](schema: Record[A], example: A): Record[A]
Include an example value within the given record JSON schema
Include an example value within the given record JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withExampleTagged[A](schema: Tagged[A], example: A): Tagged[A]
Include an example value within the given tagged JSON schema
Include an example value within the given tagged JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withTitleEnum[A](schema: Enum[A], title: String): Enum[A]
Add a title to the given enum JSON schema
Add a title to the given enum JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withTitleJsonSchema[A](schema: JsonSchema[A], title: String): JsonSchema[A]
Add a title to the given schema
Add a title to the given schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withTitleRecord[A](schema: Record[A], title: String): Record[A]
Add a title to the given record JSON schema
Add a title to the given record JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def withTitleTagged[A](schema: Tagged[A], title: String): Tagged[A]
Add a title to the given tagged JSON schema
Add a title to the given tagged JSON schema
- Definition Classes
- JsonSchemas → JsonSchemas
- def zipRecords[A, B](recordA: Record[A], recordB: Record[B])(implicit t: Tupler[A, B]): Record[Out]
The JSON schema of a record merging the fields of the two given records
The JSON schema of a record merging the fields of the two given records
- Definition Classes
- JsonSchemas → JsonSchemas
Deprecated Value Members
- def →[B](y: B): (JsonEntitiesFromSchemas, B)
- Implicit
- This member is added by an implicit conversion from JsonEntitiesFromSchemas toArrowAssoc[JsonEntitiesFromSchemas] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
Inherited from JsonSchemas
Inherited from TuplesSchemas
Inherited from JsonEntitiesFromCodecs
Inherited from EndpointsWithCustomErrors
Inherited from Urls
Inherited from StatusCodes
Inherited from Methods
Inherited from algebra.JsonEntitiesFromCodecs
Inherited from algebra.JsonEntitiesFromSchemas
Inherited from JsonSchemas
Inherited from TuplesSchemas
Inherited from JsonCodecs
Inherited from JsonEntities
Inherited from algebra.EndpointsWithCustomErrors
Inherited from Errors
Inherited from Responses
Inherited from algebra.StatusCodes
Inherited from Requests
Inherited from endpoints.SemigroupalSyntax
Inherited from algebra.Methods
Inherited from algebra.Urls
Inherited from endpoints.PartialInvariantFunctorSyntax
Inherited from endpoints.InvariantFunctorSyntax
Inherited from AnyRef
Inherited from Any
Inherited by implicit conversion StringFormat fromJsonEntitiesFromSchemas to StringFormat[JsonEntitiesFromSchemas]
Inherited by implicit conversion Ensuring fromJsonEntitiesFromSchemas to Ensuring[JsonEntitiesFromSchemas]
Inherited by implicit conversion ArrowAssoc fromJsonEntitiesFromSchemas to ArrowAssoc[JsonEntitiesFromSchemas]
Types
Types introduced by the algebra
Operations
Operations creating and transforming values