Trait

endpoints.algebra.playjson

JsonEntitiesFromCodec

Related Doc: package playjson

Permalink

trait JsonEntitiesFromCodec extends algebra.JsonEntitiesFromCodec

Partial interpreter for endpoints.algebra.JsonEntitiesFromCodec that only fixes the JsonCodec[A] type to Play’s Format[A].

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 play.api.libs.{Format, Json}

  implicit val jsonFormat: Format[MyDto] = Json.format[MyDto]
}
/* shared endpoint definition */

trait MyEndpoints extends algebra.Endpoints with algebra.playjson.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"))
  )

}
Source
JsonEntitiesFromCodec.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonEntitiesFromCodec
  2. JsonEntitiesFromCodec
  3. JsonEntities
  4. Endpoints
  5. Responses
  6. Requests
  7. SemigroupalSyntax
  8. InvariantFunctorSyntax
  9. Methods
  10. Urls
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type Endpoint[A, B]

    Permalink
    Definition Classes
    Endpoints
  2. implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef

    Permalink
    Definition Classes
    InvariantFunctorSyntax
  3. type JsonCodec[A] = Format[A]

    Permalink
    Definition Classes
    JsonEntitiesFromCodec → JsonEntitiesFromCodec
  4. type JsonRequest[A] = Codec[String, A]

    Permalink
    Definition Classes
    JsonEntitiesFromCodec → JsonEntities
  5. type JsonResponse[A] = Codec[String, A]

    Permalink
    Definition Classes
    JsonEntitiesFromCodec → JsonEntities
  6. abstract type Method

    Permalink
    Definition Classes
    Methods
  7. abstract type Path[A] <: Url[A]

    Permalink
    Definition Classes
    Urls
  8. implicit class PathOps[A] extends AnyRef

    Permalink
    Definition Classes
    Urls
  9. abstract type QueryString[A]

    Permalink
    Definition Classes
    Urls
  10. implicit class QueryStringOps[A] extends AnyRef

    Permalink
    Definition Classes
    Urls
  11. abstract type QueryStringParam[A]

    Permalink
    Definition Classes
    Urls
  12. abstract type Request[A]

    Permalink
    Definition Classes
    Requests
  13. abstract type RequestEntity[A]

    Permalink
    Definition Classes
    Requests
  14. abstract type RequestHeaders[A]

    Permalink
    Definition Classes
    Requests
  15. abstract type Response[A]

    Permalink
    Definition Classes
    Responses
  16. implicit class ResponseExtensions[A] extends AnyRef

    Permalink
    Definition Classes
    Responses
  17. abstract type Segment[A]

    Permalink
    Definition Classes
    Urls
  18. implicit class SemigroupalSyntax[A, F[_]] extends AnyRef

    Permalink
    Definition Classes
    SemigroupalSyntax
  19. abstract type Url[A]

    Permalink
    Definition Classes
    Urls

Abstract Value Members

  1. abstract def Delete: Method

    Permalink
    Definition Classes
    Methods
  2. abstract def Get: Method

    Permalink
    Definition Classes
    Methods
  3. abstract def Options: Method

    Permalink
    Definition Classes
    Methods
  4. abstract def Patch: Method

    Permalink
    Definition Classes
    Methods
  5. abstract def Post: Method

    Permalink
    Definition Classes
    Methods
  6. abstract def Put: Method

    Permalink
    Definition Classes
    Methods
  7. abstract def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]

    Permalink
    Definition Classes
    Urls
  8. abstract def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]

    Permalink
    Definition Classes
    Urls
  9. abstract def emptyHeaders: RequestHeaders[Unit]

    Permalink
    Definition Classes
    Requests
  10. abstract def emptyRequest: RequestEntity[Unit]

    Permalink
    Definition Classes
    Requests
  11. abstract def emptyResponse(docs: Documentation): Response[Unit]

    Permalink
    Definition Classes
    Responses
  12. abstract def endpoint[A, B](request: Request[A], response: Response[B], summary: Documentation, description: Documentation, tags: List[String]): Endpoint[A, B]

    Permalink
    Definition Classes
    Endpoints
  13. abstract def header(name: String, docs: Documentation): RequestHeaders[String]

    Permalink
    Definition Classes
    Requests
  14. implicit abstract def intSegment: Segment[Int]

    Permalink
    Definition Classes
    Urls
  15. abstract def jsonRequest[A](docs: Documentation)(implicit arg0: JsonRequest[A]): RequestEntity[A]

    Permalink
    Definition Classes
    JsonEntities
  16. abstract def jsonResponse[A](docs: Documentation)(implicit arg0: JsonResponse[A]): Response[A]

    Permalink
    Definition Classes
    JsonEntities
  17. implicit abstract def longSegment: Segment[Long]

    Permalink
    Definition Classes
    Urls
  18. abstract def optHeader(name: String, docs: Documentation): RequestHeaders[Option[String]]

    Permalink
    Definition Classes
    Requests
  19. implicit abstract def optionalQueryStringParam[A](implicit arg0: QueryStringParam[A]): QueryStringParam[Option[A]]

    Permalink
    Definition Classes
    Urls
  20. abstract def qs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): QueryString[A]

    Permalink
    Definition Classes
    Urls
  21. abstract def refineQueryStringParam[A, B](pa: QueryStringParam[A])(f: (A) ⇒ Option[B])(g: (B) ⇒ A): QueryStringParam[B]

    Permalink
    Definition Classes
    Urls
  22. abstract def refineSegment[A, B](sa: Segment[A])(f: (A) ⇒ Option[B])(g: (B) ⇒ A): Segment[B]

    Permalink
    Definition Classes
    Urls
  23. implicit abstract def repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit arg0: QueryStringParam[A], factory: scala.collection.compat.Factory[A, CC[A]]): QueryStringParam[CC[A]]

    Permalink
    Definition Classes
    Urls
  24. implicit abstract def reqEntityInvFunctor: InvariantFunctor[RequestEntity]

    Permalink
    Definition Classes
    Requests
  25. implicit abstract def reqHeadersInvFunctor: InvariantFunctor[RequestHeaders]

    Permalink
    Definition Classes
    Requests
  26. implicit abstract def reqHeadersSemigroupal: Semigroupal[RequestHeaders]

    Permalink
    Definition Classes
    Requests
  27. abstract def request[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](method: Method, url: Url[UrlP], entity: RequestEntity[BodyP], headers: RequestHeaders[HeadersP])(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  28. abstract def segment[A](name: String, docs: Documentation)(implicit s: Segment[A]): Path[A]

    Permalink
    Definition Classes
    Urls
  29. abstract def staticPathSegment(segment: String): Path[Unit]

    Permalink
    Definition Classes
    Urls
  30. implicit abstract def stringQueryString: QueryStringParam[String]

    Permalink
    Definition Classes
    Urls
  31. implicit abstract def stringSegment: Segment[String]

    Permalink
    Definition Classes
    Urls
  32. abstract def textRequest(docs: Documentation): RequestEntity[String]

    Permalink
    Definition Classes
    Requests
  33. abstract def textResponse(docs: Documentation): Response[String]

    Permalink
    Definition Classes
    Responses
  34. implicit abstract def urlInvFunctor: InvariantFunctor[Url]

    Permalink
    Definition Classes
    Urls
  35. abstract def urlWithQueryString[A, B](path: Path[A], qs: QueryString[B])(implicit tupler: Tupler[A, B]): Url[Out]

    Permalink
    Definition Classes
    Urls
  36. abstract def wheneverFound[A](response: Response[A], notFoundDocs: Documentation): Response[Option[A]]

    Permalink
    Definition Classes
    Responses

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. implicit def booleanQueryString: QueryStringParam[Boolean]

    Permalink
    Definition Classes
    Urls
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def delete[UrlP, HeadersP, Out](url: Url[UrlP], headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  8. implicit def doubleQueryString: QueryStringParam[Double]

    Permalink
    Definition Classes
    Urls
  9. implicit def dummyPathToUrl[A](p: Path[A]): Url[A]

    Permalink
    Definition Classes
    Urls
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def get[UrlP, HeadersP, Out](url: Url[UrlP], headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. implicit def intQueryString: QueryStringParam[Int]

    Permalink
    Definition Classes
    Urls
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. implicit def jsonCodec[A](implicit arg0: Format[A]): Codec[String, A]

    Permalink
    Definition Classes
    JsonEntitiesFromCodec → JsonEntitiesFromCodec
  19. implicit def longQueryString: QueryStringParam[Long]

    Permalink
    Definition Classes
    Urls
  20. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. val path: Path[Unit]

    Permalink
    Definition Classes
    Urls
  24. final def post[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], headers: RequestHeaders[HeadersP])(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  25. final def put[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], headers: RequestHeaders[HeadersP])(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]

    Permalink
    Definition Classes
    Requests
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  28. implicit def uuidQueryString: QueryStringParam[UUID]

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

    Permalink
    Definition Classes
    Urls
  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from JsonEntities

Inherited from Endpoints

Inherited from Responses

Inherited from Requests

Inherited from Methods

Inherited from Urls

Inherited from AnyRef

Inherited from Any

Ungrouped