Packages

t

endpoints4s.algebra.circe

JsonEntitiesFromCodecs

trait JsonEntitiesFromCodecs extends algebra.JsonEntitiesFromCodecs

Partial interpreter for endpoints4s.algebra.JsonEntitiesFromCodecs that only fixes the JsonCodec[A] type to a CirceCodec.

The jsonRequest and jsonResponse operations have to be implemented by a more specialized interpreter.

Typical usage:

/* shared MyDto.scala */

case class MyDto(i: Int, s: String)

object MyDto {
  import io.circe.{Encoder, Decoder}
  import io.circe.generic.semiauto.{deriveEncoder, deriveDecoder}

  implicit val encoder: Encoder[MyDto] = deriveEncoder
  implicit val decoder: Decoder[MyDto] = deriveDecoder
}
/* shared endpoint definition */

trait MyEndpoints extends algebra.Endpoints with algebra.circe.JsonEntitiesFromCodec {
  val myEndpoint = endpoint(get(path), jsonResponse[MyDto])
}
/* client MyEndpointsClient.scala */

object MyEndpointsClient extends MyEndpoints with xhr.JsonEntitiesFromCodec with xhr.faithful.Endpoints

MyEndpointsClient.myEndpoint().map(myDto => println(myDto.i))
/* server MyEndpointsServer.scala */

object MyEndpointsServer extends MyEndpoints with play.server.JsonEntitiesFromCodec {

  val routes = routesFromEndpoints(
    myEndpoint.implementedBy(_ => MyDto(42, "foo"))
  )

}
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonEntitiesFromCodecs
  2. JsonEntitiesFromCodecs
  3. JsonCodecs
  4. JsonEntities
  5. EndpointsWithCustomErrors
  6. Errors
  7. Responses
  8. StatusCodes
  9. Requests
  10. SemigroupalSyntax
  11. Methods
  12. Urls
  13. PartialInvariantFunctorSyntax
  14. InvariantFunctorSyntax
  15. AnyRef
  16. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final class CallbackDocs extends Serializable
    Definition Classes
    EndpointsWithCustomErrors
  2. type CallbacksDocs = Map[String, CallbackDocs]
    Definition Classes
    EndpointsWithCustomErrors
  3. abstract type ClientErrors
    Definition Classes
    Errors
  4. abstract type Endpoint[A, B]
    Definition Classes
    EndpointsWithCustomErrors
  5. final class EndpointDocs extends Serializable
    Definition Classes
    EndpointsWithCustomErrors
  6. implicit final class EndpointSyntax[A, B] extends AnyRef
    Definition Classes
    EndpointsWithCustomErrors
  7. implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef
    Definition Classes
    InvariantFunctorSyntax
  8. type JsonCodec[A] = CirceCodec[A]
    Definition Classes
    JsonEntitiesFromCodecs → JsonCodecs
  9. type JsonRequest[A] = JsonCodec[A]
    Definition Classes
    JsonCodecs → JsonEntities
  10. type JsonResponse[A] = JsonCodec[A]
    Definition Classes
    JsonCodecs → JsonEntities
  11. abstract type Method
    Definition Classes
    Methods
  12. implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef
    Definition Classes
    PartialInvariantFunctorSyntax
  13. abstract type Path[A] <: Url[A]
    Definition Classes
    Urls
  14. implicit class PathOps[A] extends AnyRef
    Definition Classes
    Urls
  15. abstract type QueryString[A]
    Definition Classes
    Urls
  16. abstract type QueryStringParam[A]
    Definition Classes
    Urls
  17. implicit class QueryStringSyntax[A] extends AnyRef
    Definition Classes
    Urls
  18. abstract type Request[A]
    Definition Classes
    Requests
  19. abstract type RequestEntity[A]
    Definition Classes
    Requests
  20. implicit class RequestEntitySyntax[A] extends AnyRef
    Definition Classes
    Requests
  21. abstract type RequestHeaders[A]
    Definition Classes
    Requests
  22. implicit final class RequestSyntax[A] extends AnyRef
    Definition Classes
    Requests
  23. abstract type Response[A]
    Definition Classes
    Responses
  24. abstract type ResponseEntity[A]
    Definition Classes
    Responses
  25. abstract type ResponseHeaders[A]
    Definition Classes
    Responses
  26. implicit class ResponseSyntax[A] extends AnyRef
    Definition Classes
    Responses
  27. abstract type Segment[A]
    Definition Classes
    Urls
  28. implicit class SemigroupalSyntax[A, F[_]] extends AnyRef
    Definition Classes
    SemigroupalSyntax
  29. abstract type ServerError
    Definition Classes
    Errors
  30. abstract type StatusCode
    Definition Classes
    StatusCodes
  31. abstract type Url[A]
    Definition Classes
    Urls
  32. abstract type WithDefault[A]
    Definition Classes
    Urls

Abstract Value Members

  1. abstract def Accepted: StatusCode
    Definition Classes
    StatusCodes
  2. abstract def BadRequest: StatusCode
    Definition Classes
    StatusCodes
  3. abstract def Created: StatusCode
    Definition Classes
    StatusCodes
  4. abstract def Delete: Method
    Definition Classes
    Methods
  5. abstract def Forbidden: StatusCode
    Definition Classes
    StatusCodes
  6. abstract def Get: Method
    Definition Classes
    Methods
  7. abstract def InternalServerError: StatusCode
    Definition Classes
    StatusCodes
  8. abstract def NoContent: StatusCode
    Definition Classes
    StatusCodes
  9. abstract def NotFound: StatusCode
    Definition Classes
    StatusCodes
  10. abstract def NotImplemented: StatusCode
    Definition Classes
    StatusCodes
  11. abstract def OK: StatusCode
    Definition Classes
    StatusCodes
  12. abstract def Options: Method
    Definition Classes
    Methods
  13. abstract def Patch: Method
    Definition Classes
    Methods
  14. abstract def PayloadTooLarge: StatusCode
    Definition Classes
    StatusCodes
  15. abstract def Post: Method
    Definition Classes
    Methods
  16. abstract def Put: Method
    Definition Classes
    Methods
  17. abstract def TooManyRequests: StatusCode
    Definition Classes
    StatusCodes
  18. abstract def Unauthorized: StatusCode
    Definition Classes
    StatusCodes
  19. abstract def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]
    Definition Classes
    Urls
  20. abstract def choiceRequestEntity[A, B](requestEntityA: RequestEntity[A], requestEntityB: RequestEntity[B]): RequestEntity[Either[A, B]]
    Definition Classes
    Requests
  21. abstract def choiceResponse[A, B](responseA: Response[A], responseB: Response[B]): Response[Either[A, B]]
    Definition Classes
    Responses
  22. abstract def clientErrorsResponseEntity: ResponseEntity[ClientErrors]
    Definition Classes
    Errors
  23. abstract def clientErrorsToInvalid(clientErrors: ClientErrors): Invalid
    Definition Classes
    Errors
  24. abstract def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]
    Definition Classes
    Urls
  25. abstract def emptyRequest: RequestEntity[Unit]
    Definition Classes
    Requests
  26. abstract def emptyRequestHeaders: RequestHeaders[Unit]
    Definition Classes
    Requests
  27. abstract def emptyResponse: ResponseEntity[Unit]
    Definition Classes
    Responses
  28. abstract def emptyResponseHeaders: ResponseHeaders[Unit]
    Definition Classes
    Responses
  29. abstract def endpoint[A, B](request: Request[A], response: Response[B], docs: EndpointDocs): Endpoint[A, B]
    Definition Classes
    EndpointsWithCustomErrors
  30. abstract def invalidToClientErrors(invalid: Invalid): ClientErrors
    Definition Classes
    Errors
  31. abstract def jsonRequest[A](implicit arg0: JsonRequest[A]): RequestEntity[A]
    Definition Classes
    JsonEntities
  32. abstract def jsonResponse[A](implicit arg0: JsonResponse[A]): ResponseEntity[A]
    Definition Classes
    JsonEntities
  33. abstract def optRequestHeader(name: String, docs: Documentation): RequestHeaders[Option[String]]
    Definition Classes
    Requests
  34. abstract def optResponseHeader(name: String, docs: Documentation): ResponseHeaders[Option[String]]
    Definition Classes
    Responses
  35. implicit abstract def optionalQueryStringParam[A](implicit arg0: QueryStringParam[A]): QueryStringParam[Option[A]]
    Definition Classes
    Urls
  36. implicit abstract def pathPartialInvariantFunctor: PartialInvariantFunctor[Path]
    Definition Classes
    Urls
  37. abstract def qs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): QueryString[A]
    Definition Classes
    Urls
  38. implicit abstract def queryStringParamPartialInvariantFunctor: PartialInvariantFunctor[QueryStringParam]
    Definition Classes
    Urls
  39. implicit abstract def queryStringPartialInvariantFunctor: PartialInvariantFunctor[QueryString]
    Definition Classes
    Urls
  40. abstract def remainingSegments(name: String, docs: Documentation): Path[String]
    Definition Classes
    Urls
  41. implicit abstract def repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit arg0: QueryStringParam[A], factory: Factory[A, CC[A]]): QueryStringParam[CC[A]]
    Definition Classes
    Urls
  42. abstract 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]
    Definition Classes
    Requests
  43. implicit abstract def requestEntityPartialInvariantFunctor: PartialInvariantFunctor[RequestEntity]
    Definition Classes
    Requests
  44. abstract def requestHeader(name: String, docs: Documentation): RequestHeaders[String]
    Definition Classes
    Requests
  45. implicit abstract def requestHeadersPartialInvariantFunctor: PartialInvariantFunctor[RequestHeaders]
    Definition Classes
    Requests
  46. implicit abstract def requestHeadersSemigroupal: Semigroupal[RequestHeaders]
    Definition Classes
    Requests
  47. implicit abstract def requestPartialInvariantFunctor: PartialInvariantFunctor[Request]
    Definition Classes
    Requests
  48. abstract def response[A, B, R](statusCode: StatusCode, entity: ResponseEntity[A], docs: Documentation, headers: ResponseHeaders[B])(implicit tupler: Tupler.Aux[A, B, R]): Response[R]
    Definition Classes
    Responses
  49. implicit abstract def responseEntityInvariantFunctor: InvariantFunctor[ResponseEntity]
    Definition Classes
    Responses
  50. abstract def responseHeader(name: String, docs: Documentation): ResponseHeaders[String]
    Definition Classes
    Responses
  51. implicit abstract def responseHeadersInvariantFunctor: InvariantFunctor[ResponseHeaders]
    Definition Classes
    Responses
  52. implicit abstract def responseHeadersSemigroupal: Semigroupal[ResponseHeaders]
    Definition Classes
    Responses
  53. implicit abstract def responseInvariantFunctor: InvariantFunctor[Response]
    Definition Classes
    Responses
  54. abstract def segment[A](name: String, docs: Documentation)(implicit s: Segment[A]): Path[A]
    Definition Classes
    Urls
  55. implicit abstract def segmentPartialInvariantFunctor: PartialInvariantFunctor[Segment]
    Definition Classes
    Urls
  56. abstract def serverErrorResponseEntity: ResponseEntity[ServerError]
    Definition Classes
    Errors
  57. abstract def serverErrorToThrowable(serverError: ServerError): Throwable
    Definition Classes
    Errors
  58. abstract def staticPathSegment(segment: String): Path[Unit]
    Definition Classes
    Urls
  59. implicit abstract def stringQueryString: QueryStringParam[String]
    Definition Classes
    Urls
  60. implicit abstract def stringSegment: Segment[String]
    Definition Classes
    Urls
  61. abstract def textRequest: RequestEntity[String]
    Definition Classes
    Requests
  62. abstract def textResponse: ResponseEntity[String]
    Definition Classes
    Responses
  63. abstract def throwableToServerError(throwable: Throwable): ServerError
    Definition Classes
    Errors
  64. implicit abstract def urlPartialInvariantFunctor: PartialInvariantFunctor[Url]
    Definition Classes
    Urls
  65. abstract def urlWithQueryString[A, B](path: Path[A], qs: QueryString[B])(implicit tupler: Tupler[A, B]): Url[Out]
    Definition Classes
    Urls

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def AlreadyReported: StatusCode
    Definition Classes
    StatusCodes
  5. def Conflict: StatusCode
    Definition Classes
    StatusCodes
  6. def ExpectationFailed: StatusCode
    Definition Classes
    StatusCodes
  7. def FailedDependency: StatusCode
    Definition Classes
    StatusCodes
  8. def Gone: StatusCode
    Definition Classes
    StatusCodes
  9. def IMUsed: StatusCode
    Definition Classes
    StatusCodes
  10. def LengthRequired: StatusCode
    Definition Classes
    StatusCodes
  11. def Locked: StatusCode
    Definition Classes
    StatusCodes
  12. def MethodNotAllowed: StatusCode
    Definition Classes
    StatusCodes
  13. def MisdirectedRequest: StatusCode
    Definition Classes
    StatusCodes
  14. def MultiStatus: StatusCode
    Definition Classes
    StatusCodes
  15. def NonAuthoritativeInformation: StatusCode
    Definition Classes
    StatusCodes
  16. def NotAcceptable: StatusCode
    Definition Classes
    StatusCodes
  17. def NotModified: StatusCode
    Definition Classes
    StatusCodes
  18. def PartialContent: StatusCode
    Definition Classes
    StatusCodes
  19. def PaymentRequired: StatusCode
    Definition Classes
    StatusCodes
  20. def PermanentRedirect: StatusCode
    Definition Classes
    StatusCodes
  21. def PreconditionFailed: StatusCode
    Definition Classes
    StatusCodes
  22. def PreconditionRequired: StatusCode
    Definition Classes
    StatusCodes
  23. def ProxyAuthenticationRequired: StatusCode
    Definition Classes
    StatusCodes
  24. def RangeNotSatisfiable: StatusCode
    Definition Classes
    StatusCodes
  25. def RequestHeaderFieldsTooLarge: StatusCode
    Definition Classes
    StatusCodes
  26. def RequestTimeout: StatusCode
    Definition Classes
    StatusCodes
  27. def ResetContent: StatusCode
    Definition Classes
    StatusCodes
  28. def TemporaryRedirect: StatusCode
    Definition Classes
    StatusCodes
  29. def TooEarly: StatusCode
    Definition Classes
    StatusCodes
  30. def UnavailableForLegalReasons: StatusCode
    Definition Classes
    StatusCodes
  31. def UnprocessableEntity: StatusCode
    Definition Classes
    StatusCodes
  32. def UnsupportedMediaType: StatusCode
    Definition Classes
    StatusCodes
  33. def UpgradeRequired: StatusCode
    Definition Classes
    StatusCodes
  34. def UriTooLong: StatusCode
    Definition Classes
    StatusCodes
  35. def addRequestHeaders[A, H](request: Request[A], headers: RequestHeaders[H])(implicit tupler: Tupler[A, H]): Request[Out]
    Definition Classes
    Requests
  36. def addRequestQueryString[A, Q](request: Request[A], queryString: QueryString[Q])(implicit tupler: Tupler[A, Q]): Request[Out]
    Definition Classes
    Requests
  37. def addResponseHeaders[A, H](response: Response[A], headers: ResponseHeaders[H])(implicit tupler: Tupler[A, H]): Response[Out]
    Definition Classes
    Responses
  38. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  39. final def badRequest[A, R](docs: Documentation, headers: ResponseHeaders[A])(implicit tupler: Tupler.Aux[ClientErrors, A, R]): Response[R]
    Definition Classes
    Responses
  40. implicit def booleanQueryString: QueryStringParam[Boolean]
    Definition Classes
    Urls
  41. implicit def circeDecoderToDecoder[A](implicit decoder: io.circe.Decoder[A]): Decoder[Json, A]
  42. implicit def circeEncoderToEncoder[A](implicit encoder: io.circe.Encoder[A]): Encoder[A, Json]
  43. lazy val clientErrorsResponse: Response[ClientErrors]
    Definition Classes
    Errors
  44. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  45. final def delete[UrlP, HeadersP, Out](url: Url[UrlP], docs: Documentation, headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
    Definition Classes
    Requests
  46. implicit def doubleQueryString: QueryStringParam[Double]
    Definition Classes
    Urls
  47. implicit def doubleSegment: Segment[Double]
    Definition Classes
    Urls
  48. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  49. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  50. final def get[UrlP, HeadersP, Out](url: Url[UrlP], docs: Documentation, headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
    Definition Classes
    Requests
  51. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  52. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  53. implicit def intQueryString: QueryStringParam[Int]
    Definition Classes
    Urls
  54. implicit def intSegment: Segment[Int]
    Definition Classes
    Urls
  55. final def internalServerError[A, R](docs: Documentation, headers: ResponseHeaders[A])(implicit tupler: Tupler.Aux[ServerError, A, R]): Response[R]
    Definition Classes
    Responses
  56. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  57. implicit def longQueryString: QueryStringParam[Long]
    Definition Classes
    Urls
  58. implicit def longSegment: Segment[Long]
    Definition Classes
    Urls
  59. def mapEndpointDocs[A, B](endpoint: Endpoint[A, B], func: (EndpointDocs) => EndpointDocs): Endpoint[A, B]
    Definition Classes
    EndpointsWithCustomErrors
  60. def mapEndpointRequest[A, B, C](endpoint: Endpoint[A, B], func: (Request[A]) => Request[C]): Endpoint[C, B]
    Definition Classes
    EndpointsWithCustomErrors
  61. def mapEndpointResponse[A, B, C](endpoint: Endpoint[A, B], func: (Response[B]) => Response[C]): Endpoint[A, C]
    Definition Classes
    EndpointsWithCustomErrors
  62. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  63. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  64. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  65. final def ok[A, B, R](entity: ResponseEntity[A], docs: Documentation, headers: ResponseHeaders[B])(implicit tupler: Tupler.Aux[A, B, R]): Response[R]
    Definition Classes
    Responses
  66. def optQsWithDefault[A](name: String, default: A, docs: Documentation)(implicit value: QueryStringParam[A]): QueryString[WithDefault[A]]
    Definition Classes
    Urls
  67. final def patch[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](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]
    Definition Classes
    Requests
  68. val path: Path[Unit]
    Definition Classes
    Urls
  69. final def post[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](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]
    Definition Classes
    Requests
  70. final def put[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](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]
    Definition Classes
    Requests
  71. lazy val serverErrorResponse: Response[ServerError]
    Definition Classes
    Errors
  72. def stringCodec[A](implicit codec: CirceCodec[A]): Codec[String, A]
    Definition Classes
    JsonEntitiesFromCodecs → JsonEntitiesFromCodecs
  73. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  74. def toString(): String
    Definition Classes
    AnyRef → Any
  75. implicit def uuidQueryString: QueryStringParam[UUID]
    Definition Classes
    Urls
  76. implicit def uuidSegment: Segment[UUID]
    Definition Classes
    Urls
  77. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  78. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  79. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  80. final def wheneverFound[A](responseA: Response[A], notFoundDocs: Documentation): Response[Option[A]]
    Definition Classes
    Responses

Deprecated Value Members

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

    (Since version 9)

Inherited from JsonCodecs

Inherited from JsonEntities

Inherited from Errors

Inherited from Responses

Inherited from StatusCodes

Inherited from Requests

Inherited from Methods

Inherited from Urls

Inherited from AnyRef

Inherited from Any

Ungrouped