trait JsonEntitiesFromSchemas extends algebra.JsonEntitiesFromSchemas with JsonEntitiesFromCodecs with JsonSchemas
- Grouped
- Alphabetic
- By Inheritance
- JsonEntitiesFromSchemas
- JsonSchemas
- TuplesSchemas
- NoDocsJsonSchemas
- JsonEntitiesFromCodecs
- JsonEntitiesFromCodecs
- EndpointsWithCustomErrors
- Methods
- Urls
- StatusCodes
- JsonEntitiesFromSchemas
- JsonSchemas
- TuplesSchemas
- JsonCodecs
- JsonEntities
- EndpointsWithCustomErrors
- Errors
- Responses
- StatusCodes
- Requests
- SemigroupalSyntax
- Methods
- Urls
- PartialInvariantFunctorSyntax
- InvariantFunctorSyntax
- AnyRef
- Any
- by any2stringadd
- 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
- final class CallbackDocs extends Serializable
- Definition Classes
- EndpointsWithCustomErrors
- final class EndpointDocs extends Serializable
- Definition Classes
- EndpointsWithCustomErrors
- implicit final class EndpointSyntax[A, B] extends AnyRef
Extension methods for Endpoint.
Extension methods for Endpoint.
- 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 RequestEntitySyntax[A] extends AnyRef
- Definition Classes
- Requests
- implicit final class RequestSyntax[A] extends AnyRef
Extension methods for Request.
- 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
- final class Endpoint[A, B] extends AnyRef
- 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
- type Enum[A] = JsonSchema[A]
A more specific type of JSON schema for enumerations, i.e.
A more specific type of JSON schema for enumerations, i.e. types that have a specific set of valid values
Values of type
Enum[A]
can be constructed by the operations:- 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 QueryString[A] = (A) => Query
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")
- Server interpreters raise an error if they can’t parse the incoming
request query string parameters as a value of type
A
. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior.
- Definition Classes
- Urls → Urls
- Note
This type has implicit methods provided by the QueryStringSyntax, InvariantFunctorSyntax, and the PartialInvariantFunctorSyntax classes.
- Server interpreters raise an error if they can’t parse the incoming
request query string parameters as a value of type
- type Request[A] = (A) => Effect[org.http4s.Request[Effect]]
Information carried by a whole request (headers and entity)
Information carried by a whole request (headers and entity)
Values of type
Request[A]
can be constructed by using the operations request, get, post, put, or delete.- Server interpreters raise an error if they can’t parse the incoming
request as a value of type
A
. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior.
- Definition Classes
- EndpointsWithCustomErrors → Requests
- Note
This type has implicit methods provided by the PartialInvariantFunctorSyntax and RequestSyntax classes.
- Server interpreters raise an error if they can’t parse the incoming
request as a value of type
- type RequestEntity[A] = (A, org.http4s.Request[Effect]) => org.http4s.Request[Effect]
Information carried by request entity
Information carried by request entity
Values of type
RequestEntity[A]
can be constructed by using the operations emptyRequest or textRequest. Additional types of request entities are provided by other algebra modules, such as JsonEntities or ChunkedEntities.- Server interpreters raise an error if they can’t parse the incoming
request entity as a value of type
A
. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior.
- Definition Classes
- EndpointsWithCustomErrors → Requests
- Note
This type has implicit methods provided by the PartialInvariantFunctorSyntax and RequestEntitySyntax classes.
- Server interpreters raise an error if they can’t parse the incoming
request entity as a value of type
- type RequestHeaders[A] = (A, org.http4s.Request[Effect]) => org.http4s.Request[Effect]
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.- Server interpreters raise an error if they can’t parse the incoming
request headers as a value of type
A
. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior.
- Definition Classes
- EndpointsWithCustomErrors → Requests
- Note
This type has implicit methods provided by the SemigroupalSyntax and PartialInvariantFunctorSyntax classes.
- Server interpreters raise an error if they can’t parse the incoming
request headers as a value of type
- type Response[A] = (StatusCode, Headers) => Option[ResponseEntity[A]]
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
Values of type
Response[A]
can be constructed by using the operations ok, badRequest, internalServerError, or the more general operation response.- Definition Classes
- EndpointsWithCustomErrors → Responses
- Note
This type has implicit methods provided by the InvariantFunctorSyntax and ResponseSyntax classes
- type ResponseEntity[A] = (org.http4s.Response[Effect]) => Effect[A]
An HTTP response entity carrying an information of type A
An HTTP response entity carrying an information of type A
Values of type ResponseEntity can be constructed by using the operations emptyResponse or textResponse. Additional types of response entities are provided by other algebra modules, such as JsonEntities or ChunkedEntities.
- Definition Classes
- EndpointsWithCustomErrors → Responses
- Note
This type has implicit methods provided by the InvariantFunctorSyntax class
- type ResponseHeaders[A] = (Headers) => Validated[A]
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
- type WithDefault[A] = Option[A]
This type is necessary to express different perspectives of servers and clients on optional query string parameters with default value:
This type is necessary to express different perspectives of servers and clients on optional query string parameters with default value:
- Client interpreters should define it as
Option[A]
and omit query string parameters with default value that are empty - Server interpreters should define it as
A
and accept incoming requests whose query string parameters with default value are missing, while providing the defined default value - Documentation interpreters should mark the parameter as optional and document the provided default value
- Client interpreters should define it as
- trait Path[A] extends 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
- trait Tagged[A] extends Record[A]
- Definition Classes
- JsonSchemas
Abstract Value Members
- abstract def authority: Authority
The authority to use to access the endpoints
The authority to use to access the endpoints
- Definition Classes
- EndpointsWithCustomErrors
- abstract def client: Client[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 endpoints4s internal client error type
Convert the ClientErrors type into the endpoints4s internal client error type
- Definition Classes
- Errors
- implicit abstract def effect: Concurrent[Effect]
- Definition Classes
- EndpointsWithCustomErrors
- abstract def invalidToClientErrors(invalid: Invalid): ClientErrors
Convert the endpoints4s internal client error type into the ClientErrors type
Convert the endpoints4s internal client error type into the ClientErrors type
- Definition Classes
- Errors
- abstract def scheme: Scheme
The scheme to use to access the endpoints
The scheme to use to access the endpoints
- Definition Classes
- EndpointsWithCustomErrors
- 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 endpoints4s internal server error type
Convert the ServerError type into the endpoints4s internal server error type
- Definition Classes
- Errors
- abstract def throwableToServerError(throwable: Throwable): ServerError
Convert the endpoints4s internal server error type into the ServerError type
Convert the endpoints4s internal server error type into the ServerError type
- Definition Classes
- Errors
Concrete Value Members
- object CallbackDocs extends Serializable
- Definition Classes
- EndpointsWithCustomErrors
- object EndpointDocs extends Serializable
- Definition Classes
- EndpointsWithCustomErrors
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from JsonEntitiesFromSchemas toany2stringadd[JsonEntitiesFromSchemas] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- 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 AlreadyReported: Status
- Definition Classes
- StatusCodes → StatusCodes
- def BadRequest: Status
- Definition Classes
- StatusCodes → StatusCodes
- Note
You should use the
badRequest
constructor provided by the endpoints4s.algebra.Responses trait to ensure that errors produced by endpoints4s are consistently handled by interpreters.
- def Conflict: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Created: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Delete: Method
- def ExpectationFailed: Status
- Definition Classes
- StatusCodes → StatusCodes
- def FailedDependency: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Forbidden: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Get: Method
- def Gone: Status
- Definition Classes
- StatusCodes → StatusCodes
- def IMUsed: Status
- Definition Classes
- StatusCodes → StatusCodes
- def InternalServerError: Status
- Definition Classes
- StatusCodes → StatusCodes
- Note
You should use the
internalServerError
constructor provided by the endpoints4s.algebra.Responses trait to ensure that errors produced by endpoints4s are consistently handled by interpreters.
- def LengthRequired: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Locked: Status
- Definition Classes
- StatusCodes → StatusCodes
- def MethodNotAllowed: Status
- Definition Classes
- StatusCodes → StatusCodes
- def MisdirectedRequest: Status
- Definition Classes
- StatusCodes → StatusCodes
- def MultiStatus: Status
- Definition Classes
- StatusCodes → StatusCodes
- def NoContent: Status
- Definition Classes
- StatusCodes → StatusCodes
- def NonAuthoritativeInformation: Status
- Definition Classes
- StatusCodes → StatusCodes
- def NotAcceptable: Status
- Definition Classes
- StatusCodes → StatusCodes
- def NotFound: Status
- Definition Classes
- StatusCodes → StatusCodes
- def NotImplemented: Status
- Definition Classes
- StatusCodes → StatusCodes
- def NotModified: Status
- Definition Classes
- StatusCodes → StatusCodes
- def OK: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Options: Method
- def PartialContent: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Patch: Method
- def PayloadTooLarge: Status
- Definition Classes
- StatusCodes → StatusCodes
- def PaymentRequired: Status
- Definition Classes
- StatusCodes → StatusCodes
- def PermanentRedirect: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Post: Method
- def PreconditionFailed: Status
- Definition Classes
- StatusCodes → StatusCodes
- def PreconditionRequired: Status
- Definition Classes
- StatusCodes → StatusCodes
- def ProxyAuthenticationRequired: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Put: Method
- def RangeNotSatisfiable: Status
- Definition Classes
- StatusCodes → StatusCodes
- def RequestHeaderFieldsTooLarge: Status
- Definition Classes
- StatusCodes → StatusCodes
- def RequestTimeout: Status
- Definition Classes
- StatusCodes → StatusCodes
- def ResetContent: Status
- Definition Classes
- StatusCodes → StatusCodes
- def TemporaryRedirect: Status
- Definition Classes
- StatusCodes → StatusCodes
- def TooEarly: Status
- Definition Classes
- StatusCodes → StatusCodes
- def TooManyRequests: Status
- Definition Classes
- StatusCodes → StatusCodes
- def Unauthorized: Status
- Definition Classes
- StatusCodes → StatusCodes
- def UnavailableForLegalReasons: Status
- Definition Classes
- StatusCodes → StatusCodes
- def UnprocessableEntity: Status
- Definition Classes
- StatusCodes → StatusCodes
- def UnsupportedMediaType: Status
- Definition Classes
- StatusCodes → StatusCodes
- def UpgradeRequired: Status
- Definition Classes
- StatusCodes → StatusCodes
- def UriTooLong: Status
- Definition Classes
- StatusCodes → StatusCodes
- def addRequestHeaders[A, H](request: Request[A], headers: RequestHeaders[H])(implicit tupler: Tupler[A, H]): Request[Out]
Add the provided
headers
to therequest
.Add the provided
headers
to therequest
.- Definition Classes
- EndpointsWithCustomErrors → Requests
- def addRequestQueryString[A, Q](request: Request[A], qs: QueryString[Q])(implicit tupler: Tupler[A, Q]): Request[Out]
Add the provided
queryString
to therequest
.Add the provided
queryString
to therequest
.- Definition Classes
- EndpointsWithCustomErrors → Requests
- def addResponseHeaders[A, H](response: Response[A], headers: ResponseHeaders[H])(implicit tupler: Tupler[A, H]): Response[Out]
Add the provided
headers
to theresponse
.Add the provided
headers
to theresponse
.Note that if the
response
describes a choice of several possible responses (resulting from theorElse
operation), theheaders
will be added to all the possible responses.- Definition Classes
- EndpointsWithCustomErrors → Responses
- implicit def arrayJsonSchema[C[X] <: Iterable[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
endpoints4s.algebra.Errors and endpoints4s.algebra.BuiltInErrors
- implicit lazy val bigdecimalJsonSchema: JsonSchema[BigDecimal]
A JSON schema for type
BigDecimal
A JSON schema for type
BigDecimal
- Definition Classes
- JsonSchemas → JsonSchemas
- def bigdecimalWithConstraintsJsonSchema(constraints: NumericConstraints[BigDecimal]): JsonSchema[BigDecimal]
A JSON schema for type
BigDecimal
where certain properties, such as minimum, maximum, etc.A JSON schema for type
BigDecimal
where certain properties, such as minimum, maximum, etc. are set.- 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 choiceRequestEntity[A, B](requestEntityA: RequestEntity[A], requestEntityB: RequestEntity[B]): RequestEntity[Either[A, B]]
Alternative between two possible request entities, differentiated by the
Content-Type
headerAlternative between two possible request entities, differentiated by the
Content-Type
header- Definition Classes
- EndpointsWithCustomErrors → Requests
- Note
If
A
andB
are both JSON-encoded and use disjoint schemas, use endpoints4s.algebra.JsonSchemas.TaggedOps#orElse at the schema level instead- Server interpreters accept either of the request entities
- Client interpreters provide one of the two request entities
- Documentation interpreters list all possible content types and their entities
- 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 endpoints4s when decoding a request fails.
Response used by endpoints4s 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]) @IntrinsicCandidate() @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 lazy val 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]
Path segment codec for type
Double
Path segment codec for type
Double
- Definition Classes
- Urls
- def doubleWithConstraintsJsonSchema(constraints: NumericConstraints[Double]): JsonSchema[Double]
A JSON schema for type
Double
where certain properties, such as minimum, maximum, etc.A JSON schema for type
Double
where certain properties, such as minimum, maximum, etc. are set.- Definition Classes
- JsonSchemas → JsonSchemas
- implicit lazy val durationSchema: JsonSchema[Duration]
An ISO 8601 duration
An ISO 8601 duration
- Definition Classes
- JsonSchemas
- See also
http://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1
- lazy val emptyRecord: Record[Unit]
The JSON schema of a record with no fields
The JSON schema of a record with no fields
- Encoder interpreters produce an empty JSON object,
- Decoder interpreters fail if the JSON value is not a JSON object,
- Documentation interpreters produce the JSON schema of a JSON object schema with no properties.
- Definition Classes
- JsonSchemas → JsonSchemas
- def emptyRequest: RequestEntity[Unit]
Empty request -- request without a body.
Empty request -- request without a body. Use
description
of endpoints4s.algebra.Endpoints#endpoint to document an empty body.- Definition Classes
- EndpointsWithCustomErrors → Requests
- def emptyRequestHeaders: RequestHeaders[Unit]
Ignore headers
Ignore headers
- Server interpreters don’t try to parse any information from the request headers,
- Client interpreters supply no specific headers
Use
description
of endpoints4s.algebra.Endpoints#endpoint to document empty headers.- Definition Classes
- EndpointsWithCustomErrors → Requests
- def emptyResponse: ResponseEntity[Unit]
Empty response entity
Empty response entity
- Server interpreters produce no response entity,
- Client interpreters ignore the 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 encodersSkipDefaultValues: Boolean
Override this method to customize the behaviour of encoders produced by optFieldWithDefault when encoding a field value that corresponds to the specified default value.
Override this method to customize the behaviour of encoders produced by optFieldWithDefault when encoding a field value that corresponds to the specified default value. By default, the default values are included.
As an example, consider the following Scala class and instances of it.
case class Book( name: String, availableAsEBook: Boolean = false ) val book1 = Book("Complete Imaginary Works", false) val book2 = Book("History of Writing", true)
With
encodersSkipDefaultValues = false
(which is the default), the field is always encoded, regardless of whether it is also the default value. This makes encoding performance predictable, but results in larger and more complicated encoded payloads:{ "name": "Complete Imaginary Works", "availableAsEBook": false } { "name": "History of Writing", "availableAsEBook": true }
With
encodersSkipDefaultValues = true
, the field is skipped if its value if also the field's default value. This means encoding can be slower (since potentially expensive equality check needs to be performed), but the encoded payloads are smaller and simpler:{ "name": "Complete Imaginary Works" } { "name": "History of Writing", "availableAsEBook": true }
- Definition Classes
- JsonSchemas
- def endpoint[A, B](request: Request[A], response: Response[B], docs: EndpointDocs): Endpoint[A, B]
Define an HTTP endpoint
Define an 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.
- Decoder interpreters fail if the input value does not match the encoded values of any of the possible values,
- Encoder interpreters never fail, even if the value is not contained in the set of possible values,
- Documentation interpreters enrich the JSON schema with an
enum
property listing the 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
- Encoder interpreters produce a JSON object with one property of the given
name
, - Decoder interpreters fail if the JSON value is not a JSON object, or if it
doesn’t contain the
name
property, or if the property has an invalid value (according to itstpe
), - Documentation interpreters produce the JSON schema of a JSON object schema with
one required property of the given
name
.
- Definition Classes
- JsonSchemas → JsonSchemas
- Encoder interpreters produce a JSON object with one property of the given
- implicit lazy val floatJsonSchema: JsonSchema[Float]
A JSON schema for type
Float
A JSON schema for type
Float
- Definition Classes
- JsonSchemas → JsonSchemas
- def floatWithConstraintsJsonSchema(constraints: NumericConstraints[Float]): JsonSchema[Float]
A JSON schema for type
BigDecimal
where certain properties, such as minimum, maximum, etc.A JSON schema for type
BigDecimal
where certain properties, such as minimum, maximum, etc. are set.- Definition Classes
- JsonSchemas → JsonSchemas
- 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
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- implicit lazy val instantJsonSchema: JsonSchema[Instant]
An ISO 8601 date-time in UTC
An ISO 8601 date-time in UTC
- Definition Classes
- JsonSchemas
- See also
http://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1
- final def intEnumeration[A](values: Seq[A])(encode: (A) => Int)(implicit tpe: JsonSchema[Int]): Enum[A]
Convenient constructor for enumerations represented by int values.
Convenient constructor for enumerations represented by int values.
- Definition Classes
- JsonSchemas
- implicit lazy val 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]
Path segment codec for type
Int
Path segment codec for type
Int
- Definition Classes
- Urls
- def intWithConstraintsJsonSchema(constraints: NumericConstraints[Int]): JsonSchema[Int]
A JSON schema for type
Int
where certain properties, such as minimum, maximum, etc.A JSON schema for type
Int
where certain properties, such as minimum, maximum, etc. are set.- Definition Classes
- JsonSchemas → JsonSchemas
- 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
endpoints4s.algebra.Errors and endpoints4s.algebra.BuiltInErrors
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def jsonRequest[A](implicit codec: JsonCodec[A]): RequestEntity[A]
Request with a JSON body, given an implicit
JsonRequest[A]
Request with a JSON body, given an implicit
JsonRequest[A]
- Server interpreters accept requests with content-type
application/json
and reject requests with an incorrect content-type. - Client interpreters supply content-type
application/json
- Definition Classes
- JsonEntitiesFromCodecs → JsonEntities
- Server interpreters accept requests with content-type
- 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](name: String)(schema: => Record[A]): Record[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] = lazyRecord("Rec") { optField("next")(recursiveSchema) }.xmap(Recursive(_))(_.next)
Interpreters should return a JsonSchema value that does not evaluate the given
schema
unless it is effectively used.- name
A unique name identifying the schema
- schema
The record JSON schema whose evaluation should be delayed
- Definition Classes
- JsonSchemas → JsonSchemas
- 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 lazySchema[A](name: String)(schema: => JsonSchema[A]): JsonSchema[A]
A lazy JSON schema that can references schemas currently being defined:
A lazy JSON schema that can references schemas currently being defined:
case class Recursive(next: Option[Recursive]) val recursiveSchema: JsonSchema[Recursive] = lazySchema("Rec")( optField("next")(recursiveSchema) ).xmap(Recursive)(_.next)
Interpreters should return a JsonSchema value that does not evaluate the given
schema
unless it is effectively used.- name
A unique name identifying the schema
- schema
The record JSON schema whose evaluation should be delayed
- Definition Classes
- JsonSchemas → JsonSchemas
- def lazyTagged[A](name: String)(schema: => Tagged[A]): Tagged[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.- name
A unique name identifying the schema
- schema
The tagged JSON schema whose evaluation should be delayed
- 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.
- 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))
- Definition Classes
- JsonSchemas
- Decoder interpreters first try to decode incoming values with the given
- implicit lazy val 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]
Path segment codec for type
Long
Path segment codec for type
Long
- Definition Classes
- Urls
- def longWithConstraintsJsonSchema(constraints: NumericConstraints[Long]): JsonSchema[Long]
A JSON schema for type
Long
where certain properties, such as minimum, maximum, etc.A JSON schema for type
Long
where certain properties, such as minimum, maximum, etc. are set.- Definition Classes
- JsonSchemas → JsonSchemas
- def mapEndpointDocs[A, B](currentEndpoint: Endpoint[A, B], func: (EndpointDocs) => EndpointDocs): Endpoint[A, B]
Map the inner documentation of the endpoint to new documentation.
Map the inner documentation of the endpoint to new documentation.
- func
The function that maps the documentation to some new documentation.
- returns
The endpoint with the mapped documentation.
- Definition Classes
- EndpointsWithCustomErrors → EndpointsWithCustomErrors
- def mapEndpointRequest[A, B, C](currentEndpoint: Endpoint[A, B], func: (Request[A]) => Request[C]): Endpoint[C, B]
Map the inner request of the endpoint to a new request.
Map the inner request of the endpoint to a new request. This is for example useful to add Auth headers to an existing endpoint.
- func
The function that maps the request to some new request.
- returns
The endpoint with the mapped request.
- Definition Classes
- EndpointsWithCustomErrors → EndpointsWithCustomErrors
val myEndpoint: Endpoint[Input, Output] = ??? val basicAuthHeaders: RequestHeaders[Credentials] = ??? val endpointWithAuth: Endpoint[(Input, Credentials), Output] = myEndpoint.mapRequest(_.addHeaders(basicAuthHeader))
Example: - def mapEndpointResponse[A, B, C](currentEndpoint: Endpoint[A, B], func: (Response[B]) => Response[C]): Endpoint[A, C]
Map the inner response of the endpoint to a new response.
Map the inner response of the endpoint to a new response. This is for example useful so you can add error handling to an existing endpoint.
- func
The function that maps the response to some new response.
- returns
The endpoint with the mapped response.
- Definition Classes
- EndpointsWithCustomErrors → EndpointsWithCustomErrors
val myEndpoint: Endpoint[Input, Output] = ??? val errorResponse: Response[Error] = ??? val endpointWithErrorHandling: Endpoint[Input, Either[Error, Output]] = myEndpoint.mapResponse(resp => resp orElse errorResponse)
Example: - 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](enumeration: Enum[A], name: String): Enum[A]
Annotates the enumeration JSON schema with a name
Annotates the enumeration JSON schema with a name
- Definition Classes
- NoDocsJsonSchemas → JsonSchemas
- def namedRecord[A](record: Record[A], name: String): Record[A]
Annotates the record JSON schema with a name
Annotates the record JSON schema with a name
- Definition Classes
- NoDocsJsonSchemas → JsonSchemas
- def namedTagged[A](tagged: Tagged[A], name: String): Tagged[A]
Annotates the tagged JSON schema with a name
Annotates the tagged JSON schema with a name
- Definition Classes
- NoDocsJsonSchemas → JsonSchemas
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- implicit lazy val offsetDateTimeSchema: JsonSchema[OffsetDateTime]
An ISO8601 date-time
An ISO8601 date-time
- Definition Classes
- JsonSchemas
- See also
http://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1
- 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
- Encoder interpreters can omit the field or emit a field with a
null
value, - Decoder interpreters successfully decode
None
if the field is absent or if it is present but has the valuenull
. They fail if the field is present but contains an invalid value, - Documentation interpreters produce the JSON schema of a JSON object with an
optional property of the given
name
.
- Definition Classes
- JsonSchemas → JsonSchemas
- Encoder interpreters can omit the field or emit a field with a
- def optFieldWithDefault[A](name: String, defaultValue: A, docs: Option[String] = None)(implicit tpe: JsonSchema[A]): Record[A]
The JSON schema of a record with a single optional field with the given
name
The JSON schema of a record with a single optional field with the given
name
- Decoders fallback to the
defaultValue
if the field is absent from the decoded JSON object. They fail if the field is present but has an invalid value, - Encoders must emit the field if it is not
defaultValue
, but can choose to omit it when it has thedefaultValue
- Documentation interpreters produce the JSON schema of a JSON object with an
optional property of the given
name
.
- Definition Classes
- JsonSchemas → JsonSchemas
- Decoders fallback to the
- def optQsWithDefault[A](name: String, default: A, docs: Documentation = None)(implicit value: QueryStringParam[A]): QueryString[WithDefault[A]]
Builds a
QueryString
with one optional parameter, which has a default value. - def optRequestHeader(name: String, docs: Option[String]): 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: Option[String]): 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 as
Some[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
- Client interpreters should model the header value as
- 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, and they must report a failure for incoming requests whose optional query string parameters are present, but malformed,
- Documentation interpreters should mark the parameter as optional.
- def orElseMergeTagged[A, C >: A, B <: C](taggedA: Tagged[A], taggedB: Tagged[B])(implicit arg0: ClassTag[A], arg1: ClassTag[B]): Tagged[C]
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
- Definition Classes
- JsonSchemas
- 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.
- final def patch[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 PATCH request
- 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 lazy val 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
- def preciseField[A](name: String, documentation: Option[String] = None)(implicit tpe: JsonSchema[A]): Record[PreciseField[A]]
The JSON schema of a record with a single field
name
of typeA
with fine control over presence and nullThe JSON schema of a record with a single field
name
of typeA
with fine control over presence and null- Encoder interpreters may produce a JSON object with one property of the given
name
, which can be set to thenull
value, - Decoder interpreters successfully decode
Absent
if the field is absent,Null
if it is present but has the valuenull
. They fail if the field is present but contains an invalid value, - Documentation interpreters produce the JSON schema of a JSON object with an
optional property of the given
name
.
- Definition Classes
- JsonSchemas → JsonSchemas
- Encoder interpreters may produce a JSON object with one property of the given
- 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)(implicit value: QueryStringParam[A]): QueryString[A]
Builds a
QueryString
with one parameter. - def queryStringParamPartialInvariantFunctor: PartialInvariantFunctor[QueryStringParam]
Provides
xmap
andxmapPartial
operations. - 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): Path[String]
The remaining segments of the path.
- 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], docs: Documentation, headers: RequestHeaders[HeadersP])(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: Option[String]): 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]
Define an HTTP response
Define an HTTP response
- 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: Option[String]): 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 as
String
, 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
- Client interpreters should model the header value as
- 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 def responseInvariantFunctor: InvariantFunctor[Response]
Provides the operation
xmap
to the typeResponse
Provides the operation
xmap
to the typeResponse
- Definition Classes
- EndpointsWithCustomErrors → Responses
- See also
- def segment[A](name: String, docs: Documentation)(implicit s: Segment[A]): Path[A]
A path segment carrying an
A
information - def segmentPartialInvariantFunctor: PartialInvariantFunctor[Segment]
Provides
xmap
andxmapPartial
operations. - lazy val serverErrorResponse: Response[ServerError]
Response used by endpoints4s when the business logic of an endpoint fails.
Response used by endpoints4s 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
- def stringQueryString: QueryStringParam[String]
Ability to define
String
query string parameters - def stringSegment: Segment[String]
Path segment codec for type
String
- 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.- Server interpreters accept requests with content-type
text/plain
and reject requests with an incorrect content-type. - Server interpreters will use the character encoding set in the content-type header to determine how the text is decoded.
- Client interpreters supply content-type
text/plain
with an explicit character encoding
- Definition Classes
- EndpointsWithCustomErrors → Requests
- Server interpreters accept requests with content-type
- def textResponse: ResponseEntity[String]
Text response entity
Text response entity
- Server interpreters produce an HTTP response with a
text/plain
content type.
- Definition Classes
- EndpointsWithCustomErrors → Responses
- Server interpreters produce an HTTP response with a
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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
- 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
- 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]
Path segment codec for type
UUID
Path segment codec for type
UUID
- Definition Classes
- Urls
- 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])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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](enumeration: Enum[A], description: String): Enum[A]
Add a description to the given enumeration JSON schema
Add a description to the given enumeration JSON schema
- Definition Classes
- NoDocsJsonSchemas → 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
- NoDocsJsonSchemas → JsonSchemas
- def withDescriptionRecord[A](record: 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
- NoDocsJsonSchemas → JsonSchemas
- def withDescriptionTagged[A](tagged: 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
- NoDocsJsonSchemas → 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](enumeration: Enum[A], example: A): Enum[A]
Include an example value within the given enumeration JSON schema
Include an example value within the given enumeration JSON schema
- Definition Classes
- NoDocsJsonSchemas → 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
- NoDocsJsonSchemas → JsonSchemas
- def withExampleRecord[A](record: 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
- NoDocsJsonSchemas → JsonSchemas
- def withExampleTagged[A](tagged: 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
- NoDocsJsonSchemas → JsonSchemas
- def withTitleEnum[A](enumeration: Enum[A], title: String): Enum[A]
Add a title to the given enumeration JSON schema
Add a title to the given enumeration JSON schema
- Definition Classes
- NoDocsJsonSchemas → 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
- NoDocsJsonSchemas → JsonSchemas
- def withTitleRecord[A](record: 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
- NoDocsJsonSchemas → JsonSchemas
- def withTitleTagged[A](tagged: 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
- NoDocsJsonSchemas → 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 finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- 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
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- 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 NoDocsJsonSchemas
Inherited from JsonEntitiesFromCodecs
Inherited from algebra.JsonEntitiesFromCodecs
Inherited from EndpointsWithCustomErrors
Inherited from Methods
Inherited from Urls
Inherited from StatusCodes
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 endpoints4s.SemigroupalSyntax
Inherited from algebra.Methods
Inherited from algebra.Urls
Inherited from endpoints4s.PartialInvariantFunctorSyntax
Inherited from endpoints4s.InvariantFunctorSyntax
Inherited from AnyRef
Inherited from Any
Inherited by implicit conversion any2stringadd fromJsonEntitiesFromSchemas to any2stringadd[JsonEntitiesFromSchemas]
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