endpoints.documented.openapi

JsonSchemaEntities

trait JsonSchemaEntities extends algebra.JsonSchemaEntities with Endpoints with JsonSchemas

Interpreter for algebra.JsonSchemaEntities that produces a documentation of the JSON schemas.

Source
JsonSchemaEntities.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. JsonSchemaEntities
  2. JsonSchemas
  3. Endpoints
  4. Responses
  5. Requests
  6. Methods
  7. Urls
  8. JsonSchemaEntities
  9. JsonSchemas
  10. JsonEntities
  11. Endpoints
  12. Responses
  13. Requests
  14. Methods
  15. Urls
  16. AnyRef
  17. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class DocumentedEndpoint(path: String, item: PathItem) extends Product with Serializable

  2. case class DocumentedHeaders(value: List[HeaderName]) extends Product with Serializable

  3. sealed trait DocumentedJsonSchema extends AnyRef

    Definition Classes
    JsonSchemas
  4. case class DocumentedParameter(name: String, required: Boolean) extends Product with Serializable

  5. case class DocumentedQueryString(parameters: List[DocumentedParameter]) extends Product with Serializable

  6. case class DocumentedRequest(method: Requests.Method, url: Requests.DocumentedUrl, headers: DocumentedHeaders, entity: Option[DocumentedRequestEntity]) extends Product with Serializable

    Definition Classes
    Requests
  7. case class DocumentedRequestEntity(documentation: Option[String], content: Map[String, MediaType]) extends Product with Serializable

  8. case class DocumentedResponse(status: Int, documentation: String, content: Map[String, MediaType]) extends Product with Serializable

  9. case class DocumentedUrl(path: String, pathParameters: List[DocumentedParameter], queryParameters: List[DocumentedParameter]) extends Product with Serializable

  10. type Endpoint[A, B] = DocumentedEndpoint

    Information carried by an HTTP endpoint

    Information carried by an HTTP endpoint

    Definition Classes
    EndpointsEndpoints
  11. type HeaderName = String

    Definition Classes
    Requests
  12. type JsonRequest[A] = JsonSchema[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
    JsonSchemaEntitiesJsonEntities
  13. type JsonResponse[A] = JsonSchema[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
    JsonSchemaEntitiesJsonEntities
  14. type JsonSchema[+A] = DocumentedJsonSchema

    Definition Classes
    JsonSchemas → JsonSchemas
  15. implicit final class JsonSchemaOps[A] extends AnyRef

    Definition Classes
    JsonSchemas
  16. sealed trait Method extends AnyRef

    Definition Classes
    Methods → Methods
  17. type MuxEndpoint[Req <: MuxRequest, Resp, Transport] = DocumentedEndpoint

    Information carried by a multiplexed HTTP endpoint.

    Information carried by a multiplexed HTTP endpoint.

    Definition Classes
    EndpointsEndpoints
  18. type Path[A] = DocumentedUrl

    An URL path carrying an A information

    An URL path carrying an A information

    Definition Classes
    UrlsUrls
  19. implicit class PathOps[A] extends AnyRef

    Convenient methods for Paths.

  20. type QueryString[A] = DocumentedQueryString

    A query string carrying an A information

    A query string carrying an A information

    Definition Classes
    UrlsUrls
  21. implicit class QueryStringOps[A] extends AnyRef

    Provides convenient methods on QueryString.

  22. type QueryStringParam[A] = Unit

    A single query string parameter carrying an A information.

    A single query string parameter carrying an A information.

    Definition Classes
    UrlsUrls
  23. type Record[+A] = DocumentedRecord

    Definition Classes
    JsonSchemas → JsonSchemas
  24. implicit final class RecordOps[A] extends AnyRef

    Definition Classes
    JsonSchemas
  25. type Request[A] = DocumentedRequest

    Information carried by a whole request (headers and entity)

    Information carried by a whole request (headers and entity)

    Definition Classes
    RequestsRequests
  26. type RequestEntity[A] = Option[DocumentedRequestEntity]

    Information carried by request entity

    Information carried by request entity

    Definition Classes
    RequestsRequests
  27. type RequestHeaders[A] = DocumentedHeaders

    Information carried by requests’ headers

    Information carried by requests’ headers

    Definition Classes
    RequestsRequests
  28. type Response[A] = List[DocumentedResponse]

    Information carried by a response

    Information carried by a response

    Definition Classes
    ResponsesResponses
  29. type Segment[A] = Unit

    An URL path segment carrying an A information.

    An URL path segment carrying an A information.

    Definition Classes
    UrlsUrls
  30. type Tagged[+A] = DocumentedCoProd

    Definition Classes
    JsonSchemas → JsonSchemas
  31. implicit final class TaggedOps[A] extends AnyRef

    Definition Classes
    JsonSchemas
  32. type Url[A] = DocumentedUrl

    An URL carrying an A information

    An URL carrying an A information

    Definition Classes
    UrlsUrls

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. object Delete extends Method with Product with Serializable

    Definition Classes
    Methods → Methods
  7. object DocumentedJsonSchema

    Definition Classes
    JsonSchemas
  8. object Get extends Method with Product with Serializable

    Definition Classes
    Methods → Methods
  9. object Post extends Method with Product with Serializable

    Definition Classes
    Methods → Methods
  10. object Put extends Method with Product with Serializable

    Definition Classes
    Methods → Methods
  11. def arrayJsonSchema[C[X] <: Seq[X], A](implicit jsonSchema: JsonSchema[A], cbf: CanBuildFrom[_, A, C[A]]): JsonSchema[C[A]]

    Definition Classes
    JsonSchemas → JsonSchemas
  12. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  13. lazy val bigdecimalJsonSchema: DocumentedJsonSchema

    Definition Classes
    JsonSchemas → JsonSchemas
  14. lazy val booleanJsonSchema: DocumentedJsonSchema

    Definition Classes
    JsonSchemas → JsonSchemas
  15. 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
  16. def choiceTagged[A, B](taggedA: DocumentedCoProd, taggedB: DocumentedCoProd): DocumentedCoProd

    Definition Classes
    JsonSchemas → JsonSchemas
  17. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. 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
  19. lazy val doubleJsonSchema: DocumentedJsonSchema

    Definition Classes
    JsonSchemas → JsonSchemas
  20. def emptyHeaders: DocumentedHeaders

    No particular information.

    No particular information. Does not mean that the headers *have to* be empty. Just that, from a server point of view no information will be extracted from them, and from a client point of view no particular headers will be built in the request.

    Definition Classes
    RequestsRequests
  21. def emptyRequest: None.type

    Empty request.

    Empty request.

    Definition Classes
    RequestsRequests
  22. def emptyResponse(documentation: String): Response[Unit]

    Empty response.

    Empty response.

    Definition Classes
    ResponsesResponses
  23. def endpoint[A, B](request: Request[A], response: Response[B]): Endpoint[A, B]

    HTTP endpoint.

    HTTP endpoint.

    request

    Request

    response

    Response

    Definition Classes
    EndpointsEndpoints
  24. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  26. def field[A](name: String)(implicit tpe: DocumentedJsonSchema): DocumentedRecord

    Definition Classes
    JsonSchemas → JsonSchemas
  27. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  28. final def get[A, B](url: Url[A], headers: RequestHeaders[B] = emptyHeaders)(implicit tuplerAC: Tupler[A, B]): Request[Out]

    Helper method to perform GET request

    Helper method to perform GET request

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

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

    Definition Classes
    AnyRef → Any
  31. lazy val intJsonSchema: DocumentedJsonSchema

    Definition Classes
    JsonSchemas → JsonSchemas
  32. def intQueryString: QueryStringParam[Int]

    Ability to define Int query string parameters

    Ability to define Int query string parameters

    Definition Classes
    UrlsUrls
  33. def intSegment: Segment[Int]

    Ability to define Int path segments

    Ability to define Int path segments

    Definition Classes
    UrlsUrls
  34. def invmapJsonSchema[A, B](jsonSchema: DocumentedJsonSchema, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedJsonSchema

    Definition Classes
    JsonSchemas → JsonSchemas
  35. def invmapRecord[A, B](record: DocumentedRecord, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedRecord

    Definition Classes
    JsonSchemas → JsonSchemas
  36. def invmapTagged[A, B](tagged: DocumentedCoProd, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedCoProd

    Definition Classes
    JsonSchemas → JsonSchemas
  37. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  38. def jsonRequest[A](documentation: Option[String])(implicit codec: JsonSchema[A]): Option[DocumentedRequestEntity]

    Defines a RequestEntity[A] given an implicit JsonRequest[A]

    Defines a RequestEntity[A] given an implicit JsonRequest[A]

    Definition Classes
    JsonSchemaEntitiesJsonEntities
  39. def jsonResponse[A](documentation: String)(implicit codec: JsonSchema[A]): List[DocumentedResponse]

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

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

    Definition Classes
    JsonSchemaEntitiesJsonEntities
  40. lazy val longJsonSchema: DocumentedJsonSchema

    Definition Classes
    JsonSchemas → JsonSchemas
  41. def longQueryString: QueryStringParam[Long]

    Query string parameter containing a Long value

    Query string parameter containing a Long value

    Definition Classes
    UrlsUrls
  42. def longSegment: Segment[Long]

    Segment containing a Long value

    Segment containing a Long value

    Definition Classes
    UrlsUrls
  43. def muxEndpoint[Req <: MuxRequest, Resp, Transport](request: Request[Transport], response: Response[Transport]): MuxEndpoint[Req, Resp, Transport]

    Multiplexed HTTP endpoint.

    Multiplexed HTTP endpoint.

    A multiplexing endpoint makes it possible to use several request and response types in the same HTTP endpoint. In other words, it allows to define several different actions through a singe HTTP endpoint.

    Req

    The base type of possible requests

    Resp

    The base type of possible responses

    Transport

    The data type used to transport the requests and responses

    request

    The request

    response

    The response

    Definition Classes
    EndpointsEndpoints
  44. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  45. final def notify(): Unit

    Definition Classes
    AnyRef
  46. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  47. def openApi(info: Info)(endpoints: DocumentedEndpoint*): OpenApi

    info

    General information about the documentation to generate

    endpoints

    The endpoints to generate the documentation for

    returns

    An OpenApi instance for the given endpoint descriptions

    Definition Classes
    Endpoints
  48. def optField[A](name: String)(implicit tpe: DocumentedJsonSchema): DocumentedRecord

    Definition Classes
    JsonSchemas → JsonSchemas
  49. def optQs[A](name: String)(implicit value: QueryStringParam[A]): QueryString[Option[A]]

    Builds a QueryString with one optional parameter of type A.

    Builds a QueryString with one optional parameter of type A.

    name

    Parameter’s name

    Definition Classes
    UrlsUrls
  50. val path: Path[Unit]

    An empty path.

    An empty path.

    Useful to begin a path definition:

    path / "foo" / segment[Int]("some-value")
    Definition Classes
    Urls
  51. final def post[A, B, C, AB](url: Url[A], entity: RequestEntity[B], headers: RequestHeaders[C] = emptyHeaders)(implicit tuplerAB: Tupler.Aux[A, B, AB], tuplerABC: Tupler[AB, C]): Request[Out]

    Helper method to perform POST request

    Helper method to perform POST request

    Definition Classes
    Requests
  52. def qs[A](name: String)(implicit value: QueryStringParam[A]): QueryString[A]

    Builds a QueryString with one parameter.

    Builds a QueryString with one parameter.

    A

    Type of the value carried by the parameter

    name

    Parameter’s name

    Definition Classes
    UrlsUrls
  53. def request[A, B, C, AB](method: Method, url: Url[A], entity: RequestEntity[B] = emptyRequest, headers: RequestHeaders[C] = emptyHeaders)(implicit tuplerAB: Tupler.Aux[A, B, AB], tuplerABC: Tupler[AB, C]): Request[Out]

    Request for given parameters

    Request for given parameters

    method

    Request method

    url

    Request URL

    Definition Classes
    RequestsRequests
  54. def segment[A](name: String)(implicit A: Segment[A]): Path[A]

    Builds a path segment carrying an A information

    Builds a path segment carrying an A information

    name

    Name for the segment (for documentation)

    Definition Classes
    UrlsUrls
  55. def staticPathSegment(segment: String): Path[Unit]

    Builds a static path segment

    Builds a static path segment

    Definition Classes
    UrlsUrls
  56. lazy val stringJsonSchema: DocumentedJsonSchema

    Definition Classes
    JsonSchemas → JsonSchemas
  57. def stringQueryString: QueryStringParam[String]

    Ability to define String query string parameters

    Ability to define String query string parameters

    Definition Classes
    UrlsUrls
  58. def stringSegment: Segment[String]

    Ability to define String path segments

    Ability to define String path segments

    Definition Classes
    UrlsUrls
  59. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  60. def taggedRecord[A](recordA: DocumentedRecord, tag: String): DocumentedCoProd

    Definition Classes
    JsonSchemas → JsonSchemas
  61. def textResponse(documentation: String): Response[String]

    Text response.

    Text response.

    Definition Classes
    ResponsesResponses
  62. def toSchema(documentedCodec: DocumentedJsonSchema): Schema

  63. def toString(): String

    Definition Classes
    AnyRef → Any
  64. 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
  65. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  68. def zipRecords[A, B](recordA: DocumentedRecord, recordB: DocumentedRecord): DocumentedRecord

    Definition Classes
    JsonSchemas → JsonSchemas

Inherited from JsonSchemas

Inherited from Endpoints

Inherited from Responses

Inherited from Requests

Inherited from Methods

Inherited from Urls

Inherited from algebra.JsonSchemas

Inherited from algebra.JsonEntities

Inherited from algebra.Endpoints

Inherited from algebra.Responses

Inherited from algebra.Requests

Inherited from algebra.Methods

Inherited from algebra.Urls

Inherited from AnyRef

Inherited from Any

Ungrouped