Packages

t

endpoints4s.fetch

JsonEntitiesFromSchemas

trait JsonEntitiesFromSchemas extends algebra.JsonEntitiesFromSchemas with JsonEntitiesFromCodecs with JsonSchemas

Source
JsonEntities.scala
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. JsonEntitiesFromSchemas
  2. JsonSchemas
  3. TuplesSchemas
  4. NoDocsJsonSchemas
  5. JsonEntitiesFromCodecs
  6. JsonEntitiesFromCodecs
  7. EndpointsWithCustomErrors
  8. StatusCodes
  9. Methods
  10. Urls
  11. JsonEntitiesFromSchemas
  12. JsonSchemas
  13. TuplesSchemas
  14. JsonCodecs
  15. JsonEntities
  16. EndpointsWithCustomErrors
  17. Errors
  18. Responses
  19. StatusCodes
  20. Requests
  21. SemigroupalSyntax
  22. Methods
  23. Urls
  24. PartialInvariantFunctorSyntax
  25. InvariantFunctorSyntax
  26. AnyRef
  27. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef

    Extension methods for values of type F[A] for which there is an implicit InvariantFunctor[F] instance.

    Extension methods for values of type F[A] for which there is an implicit InvariantFunctor[F] instance.

    Definition Classes
    InvariantFunctorSyntax
  2. implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef
  3. implicit class SemigroupalSyntax[A, F[_]] extends AnyRef
    Definition Classes
    SemigroupalSyntax
  4. final class CallbackDocs extends Serializable

    Definition Classes
    EndpointsWithCustomErrors
  5. final class EndpointDocs extends Serializable

    Definition Classes
    EndpointsWithCustomErrors
  6. implicit final class EndpointSyntax[A, B] extends AnyRef

    Extension methods for Endpoint.

    Extension methods for Endpoint.

    Definition Classes
    EndpointsWithCustomErrors
  7. implicit final class EnumOps[A] extends JsonSchemaDocumentationOps[A]

    Definition Classes
    JsonSchemas
  8. 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
  9. 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
  10. 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
  11. implicit final class TaggedOps[A] extends JsonSchemaDocumentationOps[A]

    Definition Classes
    JsonSchemas
  12. implicit class RequestEntitySyntax[A] extends AnyRef
    Definition Classes
    Requests
  13. implicit final class RequestSyntax[A] extends AnyRef

    Extension methods for Request.

    Extension methods for Request.

    Definition Classes
    Requests
  14. implicit class ResponseSyntax[A] extends AnyRef

    Extension methods for Response.

    Extension methods for Response.

    Definition Classes
    Responses
  15. implicit class PathOps[A] extends AnyRef

    Convenient methods for Paths.

    Convenient methods for Paths.

    Definition Classes
    Urls
  16. implicit class QueryStringSyntax[A] extends AnyRef

    Extension methods on QueryString.

    Extension methods on QueryString.

    Definition Classes
    Urls
  17. abstract class Endpoint[A, B] extends (A) => Result[B]
    Definition Classes
    EndpointsWithCustomErrors
  18. trait Request[A] extends AnyRef
    Definition Classes
    EndpointsWithCustomErrors
  19. implicit class RequestInitOps extends AnyRef
    Definition Classes
    EndpointsWithCustomErrors
  20. 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/

  21. abstract type ClientErrors

    Errors in a request built by a client

    Errors in a request built by a client

    Definition Classes
    Errors
  22. 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
    JsonSchemasJsonSchemas
    Note

    This type has implicit methods provided by the EnumOps class.

  23. type JsonCodec[A] = JsonSchema[A]

    A JSON codec type class

    A JSON codec type class

    Definition Classes
    JsonEntitiesFromSchemasJsonCodecs
  24. type JsonRequest[A] = JsonCodec[A]

    Type class defining how to represent the A information as a JSON request entity

    Type class defining how to represent the A information as a JSON request entity

    Definition Classes
    JsonCodecsJsonEntities
  25. type JsonResponse[A] = JsonCodec[A]

    Type class defining how to represent the A information as a JSON response entity

    Type class defining how to represent the A information as a JSON response entity

    Definition Classes
    JsonCodecsJsonEntities
  26. type Method = HttpMethod

    HTTP Method

    HTTP Method

    Definition Classes
    MethodsMethods
  27. type RequestEntity[A] = (A, RequestInit) => Unit

    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
    EndpointsWithCustomErrorsRequests
    Note

    This type has implicit methods provided by the PartialInvariantFunctorSyntax and RequestEntitySyntax classes.

  28. type RequestHeaders[A] = Function2[A, RequestInit, Unit]

    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
    EndpointsWithCustomErrorsRequests
    Note

    This type has implicit methods provided by the SemigroupalSyntax and PartialInvariantFunctorSyntax classes.

  29. type Response[A] = Function1[org.scalajs.dom.Response, 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
    EndpointsWithCustomErrorsResponses
    Note

    This type has implicit methods provided by the InvariantFunctorSyntax and ResponseSyntax classes

  30. type ResponseEntity[A] = Function1[org.scalajs.dom.Response, Promise[Either[Throwable, 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
    EndpointsWithCustomErrorsResponses
    Note

    This type has implicit methods provided by the InvariantFunctorSyntax class

  31. type ResponseHeaders[A] = (org.scalajs.dom.Response) => 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
    EndpointsWithCustomErrorsResponses
    Note

    This type has implicit methods provided by the SemigroupalSyntax and InvariantFunctorSyntax classes.

  32. abstract type Result[A]
    Definition Classes
    EndpointsWithCustomErrors
  33. abstract type ServerError

    Error raised by the business logic of a server

    Error raised by the business logic of a server

    Definition Classes
    Errors
  34. type StatusCode = Int

    HTTP Status Code

    HTTP Status Code

    Definition Classes
    StatusCodesStatusCodes
  35. 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
    Definition Classes
    UrlsUrls
  36. trait Path[A] extends Url[A]

    Builds an URL path from an A

    Builds an URL path from an A

    Definition Classes
    Urls
  37. trait QueryString[A] extends AnyRef

    Defines how to build a query string from an A

    Defines how to build a query string from an A

    Definition Classes
    Urls
  38. trait QueryStringParam[A] extends AnyRef

    Defines how to build a query string parameter value from an A

    Defines how to build a query string parameter value from an A

    Definition Classes
    Urls
  39. trait Segment[A] extends AnyRef

    Defines how to build a path segment from an A

    Defines how to build a path segment from an A

    Definition Classes
    Urls
  40. trait Url[A] extends AnyRef

    Builds an URL from an A

    Builds an URL from an A

    Definition Classes
    Urls
  41. trait JsonSchema[A] extends AnyRef
    Definition Classes
    JsonSchemas
  42. trait Record[A] extends JsonSchema[A]
    Definition Classes
    JsonSchemas
  43. trait Tagged[A] extends Record[A]
    Definition Classes
    JsonSchemas

Abstract Value Members

  1. 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
  2. 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
  3. abstract def endpoint[A, B](request: Request[A], response: Response[B], docs: EndpointDocs = 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
  4. 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
  5. 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
  6. 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
  7. abstract def settings: EndpointsSettings
    Definition Classes
    EndpointsWithCustomErrors
  8. 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

  1. object CallbackDocs extends Serializable
    Definition Classes
    EndpointsWithCustomErrors
  2. object EndpointDocs extends Serializable
    Definition Classes
    EndpointsWithCustomErrors
  3. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def ##: Int
    Definition Classes
    AnyRef → Any
  5. 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
  6. 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()
  7. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def Accepted: Int

    Definition Classes
    StatusCodesStatusCodes
  9. def AlreadyReported: Int

    Definition Classes
    StatusCodesStatusCodes
  10. def BadRequest: Int

    Definition Classes
    StatusCodesStatusCodes
    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.

  11. def Conflict: Int

    Definition Classes
    StatusCodesStatusCodes
  12. def Created: Int

    Definition Classes
    StatusCodesStatusCodes
  13. def Delete: Method

    Definition Classes
    MethodsMethods
  14. def ExpectationFailed: Int

    Definition Classes
    StatusCodesStatusCodes
  15. def FailedDependency: Int

    Definition Classes
    StatusCodesStatusCodes
  16. def Forbidden: Int

    Definition Classes
    StatusCodesStatusCodes
  17. def Get: Method

    Definition Classes
    MethodsMethods
  18. def Gone: Int

    Definition Classes
    StatusCodesStatusCodes
  19. def IMUsed: Int

    Definition Classes
    StatusCodesStatusCodes
  20. def InternalServerError: Int

    Definition Classes
    StatusCodesStatusCodes
    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.

  21. def LengthRequired: Int

    Definition Classes
    StatusCodesStatusCodes
  22. def Locked: Int

    Definition Classes
    StatusCodesStatusCodes
  23. def MethodNotAllowed: Int

    Definition Classes
    StatusCodesStatusCodes
  24. def MisdirectedRequest: Int

    Definition Classes
    StatusCodesStatusCodes
  25. def MultiStatus: Int

    Definition Classes
    StatusCodesStatusCodes
  26. def NoContent: Int

    Definition Classes
    StatusCodesStatusCodes
  27. def NonAuthoritativeInformation: Int

    Definition Classes
    StatusCodesStatusCodes
  28. def NotAcceptable: Int

    Definition Classes
    StatusCodesStatusCodes
  29. def NotFound: Int

    Definition Classes
    StatusCodesStatusCodes
  30. def NotImplemented: Int

    Definition Classes
    StatusCodesStatusCodes
  31. def NotModified: Int

    Definition Classes
    StatusCodesStatusCodes
  32. def OK: Int

    Definition Classes
    StatusCodesStatusCodes
  33. def Options: Method

    Definition Classes
    MethodsMethods
  34. def PartialContent: Int

    Definition Classes
    StatusCodesStatusCodes
  35. def Patch: Method

    Definition Classes
    MethodsMethods
  36. def PayloadTooLarge: Int

    Definition Classes
    StatusCodesStatusCodes
  37. def PaymentRequired: Int

    Definition Classes
    StatusCodesStatusCodes
  38. def PermanentRedirect: Int

    Definition Classes
    StatusCodesStatusCodes
  39. def Post: Method

    Definition Classes
    MethodsMethods
  40. def PreconditionFailed: Int

    Definition Classes
    StatusCodesStatusCodes
  41. def PreconditionRequired: Int

    Definition Classes
    StatusCodesStatusCodes
  42. def ProxyAuthenticationRequired: Int

    Definition Classes
    StatusCodesStatusCodes
  43. def Put: Method

    Definition Classes
    MethodsMethods
  44. def RangeNotSatisfiable: Int

    Definition Classes
    StatusCodesStatusCodes
  45. def RequestHeaderFieldsTooLarge: Int

    Definition Classes
    StatusCodesStatusCodes
  46. def RequestTimeout: Int

    Definition Classes
    StatusCodesStatusCodes
  47. def ResetContent: Int

    Definition Classes
    StatusCodesStatusCodes
  48. def TemporaryRedirect: Int

    Definition Classes
    StatusCodesStatusCodes
  49. def TooEarly: Int

    Definition Classes
    StatusCodesStatusCodes
  50. def TooManyRequests: Int

    Definition Classes
    StatusCodesStatusCodes
  51. def Unauthorized: Int

    Definition Classes
    StatusCodesStatusCodes
  52. def UnavailableForLegalReasons: Int

    Definition Classes
    StatusCodesStatusCodes
  53. def UnprocessableEntity: Int

    Definition Classes
    StatusCodesStatusCodes
  54. def UnsupportedMediaType: Int

    Definition Classes
    StatusCodesStatusCodes
  55. def UpgradeRequired: Int

    Definition Classes
    StatusCodesStatusCodes
  56. def UriTooLong: Int

    Definition Classes
    StatusCodesStatusCodes
  57. def addRequestHeaders[A, H](request: Request[A], headers: RequestHeaders[H])(implicit tupler: Tupler[A, H]): Request[Out]

    Add the provided headers to the request.

    Add the provided headers to the request.

    Definition Classes
    EndpointsWithCustomErrorsRequests
  58. def addRequestQueryString[A, Q](request: Request[A], qs: QueryString[Q])(implicit tupler: Tupler[A, Q]): Request[Out]

    Add the provided queryString to the request.

    Add the provided queryString to the request.

    Definition Classes
    EndpointsWithCustomErrorsRequests
  59. def addResponseHeaders[A, H](response: Response[A], headers: ResponseHeaders[H])(implicit tupler: Tupler[A, H]): Response[Out]

    Add the provided headers to the response.

    Add the provided headers to the response.

    Note that if the response describes a choice of several possible responses (resulting from the orElse operation), the headers will be added to all the possible responses.

    Definition Classes
    EndpointsWithCustomErrorsResponses
  60. 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
    JsonSchemasJsonSchemas
  61. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  62. 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

  63. implicit lazy val bigdecimalJsonSchema: JsonSchema[BigDecimal]

    A JSON schema for type BigDecimal

    A JSON schema for type BigDecimal

    Definition Classes
    JsonSchemasJsonSchemas
  64. 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
    JsonSchemasJsonSchemas
  65. implicit def booleanJsonSchema: JsonSchema[Boolean]

    A JSON schema for type Boolean

    A JSON schema for type Boolean

    Definition Classes
    JsonSchemasJsonSchemas
  66. implicit def booleanQueryString: QueryStringParam[Boolean]

    Query string parameter containing a Boolean value

    Query string parameter containing a Boolean value

    Definition Classes
    Urls
  67. implicit def byteJsonSchema: JsonSchema[Byte]

    A JSON schema for type Byte

    A JSON schema for type Byte

    Definition Classes
    JsonSchemasJsonSchemas
  68. def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]

    Chains the two paths

    Chains the two paths

    Definition Classes
    UrlsUrls
  69. 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 header

    Alternative between two possible request entities, differentiated by the Content-Type header

    Definition Classes
    EndpointsWithCustomErrorsRequests
    Note

    If A and B 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
  70. 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
    EndpointsWithCustomErrorsResponses
  71. 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
    JsonSchemasJsonSchemas
  72. 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
  73. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  74. def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]

    Concatenates two QueryStrings

    Concatenates two QueryStrings

    Definition Classes
    UrlsUrls
  75. 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
  76. implicit final def defaultStringJsonSchema: JsonSchema[String]

    A JSON schema for type String

    A JSON schema for type String

    Definition Classes
    JsonSchemas
  77. 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
  78. implicit lazy val doubleJsonSchema: JsonSchema[Double]

    A JSON schema for type Double

    A JSON schema for type Double

    Definition Classes
    JsonSchemasJsonSchemas
  79. implicit def doubleQueryString: QueryStringParam[Double]

    Codec for query string parameters of type Double

    Codec for query string parameters of type Double

    Definition Classes
    Urls
  80. implicit def doubleSegment: Segment[Double]

    Path segment codec for type Double

    Path segment codec for type Double

    Definition Classes
    Urls
  81. 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
    JsonSchemasJsonSchemas
  82. 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

  83. 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
    JsonSchemasJsonSchemas
  84. lazy val 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
    EndpointsWithCustomErrorsRequests
  85. lazy val 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
    EndpointsWithCustomErrorsRequests
  86. def emptyResponse: ResponseEntity[Unit]

    Empty response entity

    Empty response entity

    • Server interpreters produce no response entity,
    • Client interpreters ignore the response entity.
    Definition Classes
    EndpointsWithCustomErrorsResponses
  87. def emptyResponseHeaders: ResponseHeaders[Unit]

    No particular response header.

    No particular response header.

    • Client interpreters should ignore information carried by response headers.
    Definition Classes
    EndpointsWithCustomErrorsResponses
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
    JsonSchemasJsonSchemas
  94. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  95. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  96. 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 type A

    The JSON schema of a record with a single field name of type A

    • 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 its tpe),
    • Documentation interpreters produce the JSON schema of a JSON object schema with one required property of the given name.
    Definition Classes
    JsonSchemasJsonSchemas
  97. implicit lazy val floatJsonSchema: JsonSchema[Float]

    A JSON schema for type Float

    A JSON schema for type Float

    Definition Classes
    JsonSchemasJsonSchemas
  98. 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
    JsonSchemasJsonSchemas
  99. 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
  100. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  101. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  102. 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

  103. 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
  104. implicit lazy val intJsonSchema: JsonSchema[Int]

    A JSON schema for type Int

    A JSON schema for type Int

    Definition Classes
    JsonSchemasJsonSchemas
  105. implicit def intQueryString: QueryStringParam[Int]

    Ability to define Int query string parameters

    Ability to define Int query string parameters

    Definition Classes
    Urls
  106. implicit def intSegment: Segment[Int]

    Path segment codec for type Int

    Path segment codec for type Int

    Definition Classes
    Urls
  107. 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
    JsonSchemasJsonSchemas
  108. 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

  109. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  110. def jsonRequest[A](implicit codec: JsonCodec[A]): (A, RequestInit) => Unit

    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
    JsonEntitiesFromCodecsJsonEntities
  111. def jsonResponse[A](implicit codec: JsonCodec[A]): ResponseEntity[A]

    Defines a Response[A] given an implicit JsonResponse[A]

    Defines a Response[A] given an implicit JsonResponse[A]

    Definition Classes
    JsonEntitiesFromCodecsJsonEntities
  112. implicit def jsonSchemaPartialInvFunctor: PartialInvariantFunctor[JsonSchema]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    JsonSchemasJsonSchemas
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  113. 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
    JsonSchemasJsonSchemas
  114. 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
    JsonSchemasJsonSchemas
  115. 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
    JsonSchemasJsonSchemas
  116. 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
    JsonSchemasJsonSchemas
  117. 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
    JsonSchemasJsonSchemas
  118. 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 given value,
    • Encoder interpreters always produce the given value, encoded according to tpe,
    • Documentation interpreters enrich the JSON schema with a const property documenting its only possible value (or an enum 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
  119. implicit lazy val longJsonSchema: JsonSchema[Long]

    A JSON schema for type Long

    A JSON schema for type Long

    Definition Classes
    JsonSchemasJsonSchemas
  120. implicit def longQueryString: QueryStringParam[Long]

    Query string parameter containing a Long value

    Query string parameter containing a Long value

    Definition Classes
    Urls
  121. implicit def longSegment: Segment[Long]

    Path segment codec for type Long

    Path segment codec for type Long

    Definition Classes
    Urls
  122. 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
    JsonSchemasJsonSchemas
  123. def mapEndpointDocs[A, B](endpoint: Endpoint[A, B], f: (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.

    endpoint

    The current endpoint that is being mapped.

    returns

    The endpoint with the mapped documentation.

    Definition Classes
    EndpointsWithCustomErrorsEndpointsWithCustomErrors
  124. def mapEndpointRequest[A, B, C](endpoint: Endpoint[A, B], f: (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.

    endpoint

    The current endpoint that is being mapped.

    returns

    The endpoint with the mapped request.

    Definition Classes
    EndpointsWithCustomErrorsEndpointsWithCustomErrors
    Example:
    1. val myEndpoint: Endpoint[Input, Output] = ???
      val basicAuthHeaders: RequestHeaders[Credentials] = ???
      
      val endpointWithAuth: Endpoint[(Input, Credentials), Output] =
        myEndpoint.mapRequest(_.addHeaders(basicAuthHeader))
  125. def mapEndpointResponse[A, B, C](endpoint: Endpoint[A, B], f: (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.

    endpoint

    The current endpoint that is being mapped.

    returns

    The endpoint with the mapped response.

    Definition Classes
    EndpointsWithCustomErrorsEndpointsWithCustomErrors
    Example:
    1. val myEndpoint: Endpoint[Input, Output] = ???
      val errorResponse: Response[Error] = ???
      
      val endpointWithErrorHandling: Endpoint[Input, Either[Error, Output]] =
        myEndpoint.mapResponse(resp => resp orElse errorResponse)
  126. 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
    JsonSchemasJsonSchemas
  127. 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
    NoDocsJsonSchemasJsonSchemas
  128. 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
    NoDocsJsonSchemasJsonSchemas
  129. 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
    NoDocsJsonSchemasJsonSchemas
  130. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  131. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  132. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  133. 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

  134. 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
  135. 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 type A

    The JSON schema of a record with a single optional field name of type A

    • 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 value null. 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
    JsonSchemasJsonSchemas
  136. 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 the defaultValue
    • Documentation interpreters produce the JSON schema of a JSON object with an optional property of the given name.
    Definition Classes
    JsonSchemasJsonSchemas
  137. 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.

    Builds a QueryString with one optional parameter, which has a default value.

    Examples:

    optQsWithDefault[Int]("page", 1) // optional `page` parameter, with default value 1
    A

    Type of the value carried by the parameter

    name

    Parameter’s name

    Definition Classes
    UrlsUrls
  138. 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
    EndpointsWithCustomErrorsRequests
  139. 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 as Some[String], or None if the response header is missing.
    • Server interpreters should produce such a response header.
    • Documentation interpreters should document this header.
    Definition Classes
    EndpointsWithCustomErrorsResponses
  140. 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, 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.
    Definition Classes
    UrlsUrls
  141. 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
  142. def orFallbackToJsonSchema[A, B](schemaA: JsonSchema[A], schemaB: JsonSchema[B]): JsonSchema[Either[A, B]]

    A schema that can be either schemaA or schemaB.

    A schema that can be either schemaA or schemaB.

    Documentation interpreter produce a oneOf JSON schema. Encoder interpreters forward to either schemaA or schemaB. Decoder interpreters first try to decode with schemaA, and fallback to schemaB 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
    JsonSchemasJsonSchemas
    Note

    Be careful to use disjoint schemas for A and B (none must be a subtype of the other), otherwise, a value of type B might also be successfully decoded as a value of type A, and this could have surprising consequences.

  143. 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

    Helper method to perform PATCH request

    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

    docs

    Request documentation

    Definition Classes
    Requests
  144. 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
  145. implicit lazy val pathPartialInvariantFunctor: PartialInvariantFunctor[Path]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    UrlsUrls
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  146. final def performFetch[A, B](request: Request[A], response: Response[B], a: A)(onload: (Either[Throwable, B]) => Unit, onerror: (Throwable) => Unit): Function0[Unit]
    Attributes
    protected
    Definition Classes
    EndpointsWithCustomErrors
  147. 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

    Helper method to perform POST request

    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

    docs

    Request documentation

    Definition Classes
    Requests
  148. 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 type A with fine control over presence and null

    The JSON schema of a record with a single field name of type A 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 the null value,
    • Decoder interpreters successfully decode Absent if the field is absent, Null if it is present but has the value null. 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
    JsonSchemasJsonSchemas
  149. 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

    Helper method to perform PUT request

    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

    Definition Classes
    Requests
  150. def qs[A](name: String, docs: Documentation)(implicit param: QueryStringParam[A]): QueryString[A]

    Builds a QueryString with one parameter.

    Builds a QueryString with one parameter.

    Examples:

    qs[Int]("page")            // mandatory `page` parameter
    qs[Option[String]]("lang") // optional `lang` parameter
    qs[List[Long]]("id")       // repeated `id` parameter
    A

    Type of the value carried by the parameter

    name

    Parameter’s name

    Definition Classes
    UrlsUrls
  151. implicit lazy val queryStringParamPartialInvariantFunctor: PartialInvariantFunctor[QueryStringParam]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    UrlsUrls
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  152. implicit lazy val queryStringPartialInvariantFunctor: PartialInvariantFunctor[QueryString]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    UrlsUrls
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  153. implicit def recordPartialInvFunctor: PartialInvariantFunctor[Record]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    JsonSchemasJsonSchemas
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  154. def remainingSegments(name: String, docs: Documentation): Path[String]

    The remaining segments of the path.

    The remaining segments of the path. The String value carried by this Path is still URL-encoded.

    Definition Classes
    UrlsUrls
  155. 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.
    Definition Classes
    UrlsUrls
  156. def request[A, B, C, AB, Out](method: Method, url: Url[A], entity: RequestEntity[B], docs: Documentation, headers: RequestHeaders[C])(implicit tuplerAB: Tupler.Aux[A, B, AB], tuplerABC: Tupler.Aux[AB, C, Out]): Request[Out]

    Request for given parameters

    Request for given parameters

    method

    Request method

    url

    Request URL

    entity

    Request entity

    docs

    Request documentation

    headers

    Request headers

    Definition Classes
    EndpointsWithCustomErrorsRequests
  157. implicit lazy val requestEntityPartialInvariantFunctor: PartialInvariantFunctor[RequestEntity]

    Provides the operations xmap and xmapPartial.

    Provides the operations xmap and xmapPartial.

    Definition Classes
    EndpointsWithCustomErrorsRequests
    See also

    PartialInvariantFunctorSyntax

  158. def requestHeader(name: String, docs: Documentation): RequestHeaders[String]

    A required request header

    A required request header

    name

    Header name (e.g., “Authorization”)

    Definition Classes
    EndpointsWithCustomErrorsRequests
  159. implicit lazy val requestHeadersPartialInvariantFunctor: PartialInvariantFunctor[RequestHeaders]

    Provides the operations xmap and xmapPartial.

    Provides the operations xmap and xmapPartial.

    Definition Classes
    EndpointsWithCustomErrorsRequests
    See also

    PartialInvariantFunctorSyntax

  160. implicit lazy val requestHeadersSemigroupal: Semigroupal[RequestHeaders]

    Provides ++ operation.

    Provides ++ operation.

    Definition Classes
    EndpointsWithCustomErrorsRequests
    See also

    SemigroupalSyntax

  161. implicit def requestPartialInvariantFunctor: PartialInvariantFunctor[Request]

    Provides the operations xmap and xmapPartial.

    Provides the operations xmap and xmapPartial.

    Definition Classes
    EndpointsWithCustomErrorsRequests
    See also

    PartialInvariantFunctorSyntax

  162. def response[A, B, R](statusCode: StatusCode, entity: ResponseEntity[A], docs: Documentation = None, headers: ResponseHeaders[B] = emptyResponseHeaders)(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
    EndpointsWithCustomErrorsResponses
  163. implicit def responseEntityInvariantFunctor: InvariantFunctor[ResponseEntity]
    Definition Classes
    EndpointsWithCustomErrorsResponses
  164. 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 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
    EndpointsWithCustomErrorsResponses
  165. implicit def responseHeadersInvariantFunctor: InvariantFunctor[ResponseHeaders]

    Provides xmap operation.

    Provides xmap operation.

    Definition Classes
    EndpointsWithCustomErrorsResponses
    See also

    InvariantFunctorSyntax

  166. implicit def responseHeadersSemigroupal: Semigroupal[ResponseHeaders]

    Provides ++ operation.

    Provides ++ operation.

    Definition Classes
    EndpointsWithCustomErrorsResponses
    See also

    SemigroupalSyntax

  167. implicit lazy val responseInvariantFunctor: InvariantFunctor[Response]

    Provides the operation xmap to the type Response

    Provides the operation xmap to the type Response

    Definition Classes
    EndpointsWithCustomErrorsResponses
    See also

    InvariantFunctorSyntax

  168. def segment[A](name: String, docs: Documentation)(implicit s: Segment[A]): Path[A]

    A path segment carrying an A information

    A path segment carrying an A information

    Definition Classes
    UrlsUrls
  169. implicit lazy val segmentPartialInvariantFunctor: PartialInvariantFunctor[Segment]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    UrlsUrls
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  170. 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
  171. def staticPathSegment(segment: String): Path[Unit]

    A path segment whose value is the given segment

    A path segment whose value is the given segment

    Definition Classes
    UrlsUrls
  172. 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
    JsonEntitiesFromSchemasJsonEntitiesFromCodecs
  173. def stringCodecResponse[A](implicit codec: Decoder[String, A]): ResponseEntity[A]
    Definition Classes
    EndpointsWithCustomErrors
  174. 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
  175. 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
    JsonSchemasJsonSchemas
    See also

    https://json-schema.org/understanding-json-schema/reference/string.html#format

  176. implicit lazy val stringQueryString: QueryStringParam[String]

    Ability to define String query string parameters

    Ability to define String query string parameters

    Definition Classes
    UrlsUrls
  177. implicit lazy val stringSegment: Segment[String]

    Path segment codec for type String

    Path segment codec for type String

    • Server interpreters should return an URL-decoded string value,
    • Client interpreters should take an URL-decoded string value.
    Definition Classes
    UrlsUrls
  178. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  179. implicit def taggedPartialInvFunctor: PartialInvariantFunctor[Tagged]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    JsonSchemasJsonSchemas
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  180. def taggedRecord[A](recordA: Record[A], tag: String): Tagged[A]

    Tags a schema for type A with the given tag name

    Tags a schema for type A with the given tag name

    Definition Classes
    JsonSchemasJsonSchemas
  181. lazy val 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
    EndpointsWithCustomErrorsRequests
  182. def textResponse: ResponseEntity[String]

    Text response entity

    Text response entity

    • Server interpreters produce an HTTP response with a text/plain content type.
    Definition Classes
    EndpointsWithCustomErrorsResponses
  183. def toString(): String
    Definition Classes
    AnyRef → Any
  184. 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
    TuplesSchemasTuplesSchemas
  185. 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
    TuplesSchemasTuplesSchemas
  186. 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
    TuplesSchemasTuplesSchemas
  187. 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
    TuplesSchemasTuplesSchemas
  188. 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
    TuplesSchemasTuplesSchemas
  189. 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
    TuplesSchemasTuplesSchemas
  190. 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
    TuplesSchemasTuplesSchemas
  191. 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
    TuplesSchemasTuplesSchemas
  192. 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
    TuplesSchemasTuplesSchemas
  193. 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
    TuplesSchemasTuplesSchemas
  194. 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
    TuplesSchemasTuplesSchemas
  195. 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
    TuplesSchemasTuplesSchemas
  196. 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
    TuplesSchemasTuplesSchemas
  197. 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
    TuplesSchemasTuplesSchemas
  198. 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
    TuplesSchemasTuplesSchemas
  199. 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
    TuplesSchemasTuplesSchemas
  200. 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
    TuplesSchemasTuplesSchemas
  201. 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
    TuplesSchemasTuplesSchemas
  202. 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
    TuplesSchemasTuplesSchemas
  203. 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
    TuplesSchemasTuplesSchemas
  204. 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
    TuplesSchemasTuplesSchemas
  205. implicit lazy val urlPartialInvariantFunctor: PartialInvariantFunctor[Url]

    Provides xmap and xmapPartial operations

    Provides xmap and xmapPartial operations

    Definition Classes
    UrlsUrls
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  206. 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

    Builds an URL from the given path and query string

    Definition Classes
    UrlsUrls
  207. implicit final lazy val uuidJsonSchema: JsonSchema[UUID]

    A JSON schema for type UUID

    A JSON schema for type UUID

    Definition Classes
    JsonSchemas
  208. implicit def uuidQueryString: QueryStringParam[UUID]

    Ability to define UUID query string parameters

    Ability to define UUID query string parameters

    Definition Classes
    Urls
  209. implicit def uuidSegment: Segment[UUID]

    Path segment codec for type UUID

    Path segment codec for type UUID

    Definition Classes
    Urls
  210. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  211. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  212. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  213. final def wheneverFound[A](responseA: Response[A], notFoundDocs: Documentation = None): Response[Option[A]]

    Turns a Response[A] into a Response[Option[A]].

    Turns a Response[A] into a Response[Option[A]].

    Interpreters represent None with an empty HTTP response whose status code is 404 (Not Found).

    Definition Classes
    Responses
  214. 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
    NoDocsJsonSchemasJsonSchemas
  215. 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
    NoDocsJsonSchemasJsonSchemas
  216. 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
    NoDocsJsonSchemasJsonSchemas
  217. 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
    NoDocsJsonSchemasJsonSchemas
  218. 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
    JsonSchemasJsonSchemas
  219. 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
    NoDocsJsonSchemasJsonSchemas
  220. 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
    NoDocsJsonSchemasJsonSchemas
  221. 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
    NoDocsJsonSchemasJsonSchemas
  222. 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
    NoDocsJsonSchemasJsonSchemas
  223. 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
    NoDocsJsonSchemasJsonSchemas
  224. 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
    NoDocsJsonSchemasJsonSchemas
  225. 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
    NoDocsJsonSchemasJsonSchemas
  226. 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
    NoDocsJsonSchemasJsonSchemas
  227. 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
    JsonSchemasJsonSchemas

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. 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 of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. 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 StatusCodes

Inherited from Methods

Inherited from Urls

Inherited from JsonSchemas

Inherited from TuplesSchemas

Inherited from JsonCodecs

Inherited from JsonEntities

Inherited from Errors

Inherited from Responses

Inherited from algebra.StatusCodes

Inherited from Requests

Inherited from algebra.Methods

Inherited from algebra.Urls

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

Ungrouped