Trait

endpoints.openapi

JsonSchemaEntities

Related Doc: package openapi

Permalink

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. SemigroupalSyntax
  15. InvariantFunctorSyntax
  16. Methods
  17. Urls
  18. AnyRef
  19. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

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

    Permalink

    path

    Path template (e.g. “/user/{id}”)

    item

    Item documentation

    Definition Classes
    Endpoints
  2. case class DocumentedHeader(name: String, description: Option[String], required: Boolean, schema: Schema) extends Product with Serializable

    Permalink
    Definition Classes
    Requests
  3. case class DocumentedHeaders(value: List[DocumentedHeader]) extends Product with Serializable

    Permalink

    value

    List of request header names (e.g. “Authorization”)

    Definition Classes
    Requests
  4. sealed trait DocumentedJsonSchema extends AnyRef

    Permalink
    Definition Classes
    JsonSchemas
  5. case class DocumentedParameter(name: String, required: Boolean, description: Option[String], schema: Schema) extends Product with Serializable

    Permalink

    name

    Name of the parameter

    required

    Whether this parameter is required or not (MUST be true for path parameters)

    Definition Classes
    Urls
  6. case class DocumentedQueryString(parameters: List[DocumentedParameter]) extends Product with Serializable

    Permalink

    parameters

    List of query string parameters

    Definition Classes
    Urls
  7. case class DocumentedQueryStringParam(schema: Schema, isRequired: Boolean) extends Product with Serializable

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

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

    Permalink

    documentation

    Human readable documentation of the request entity

    content

    Map that associates each possible content-type (e.g. “text/html”) with a MediaType description

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

    Permalink

    status

    Response status code (e.g. 200)

    documentation

    Human readable documentation. Not optional because its required by openapi

    content

    Map that associates each possible content-type (e.g. “text/html”) with a MediaType description

    Definition Classes
    Responses
  11. case class DocumentedUrl(path: List[Either[String, DocumentedParameter]], queryParameters: List[DocumentedParameter]) extends Product with Serializable

    Permalink

    path

    List of path segments. Left is a static segment, right i path parameter

    queryParameters

    Query string parameters

    Definition Classes
    Urls
  12. type Endpoint[A, B] = DocumentedEndpoint

    Permalink
    Definition Classes
    Endpoints → Endpoints
  13. type Enum[+A] = DocumentedEnum

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  14. implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef

    Permalink
    Definition Classes
    InvariantFunctorSyntax
  15. type JsonRequest[A] = JsonSchema[A]

    Permalink
    Definition Classes
    JsonSchemaEntities → JsonEntities
  16. type JsonResponse[A] = JsonSchema[A]

    Permalink
    Definition Classes
    JsonSchemaEntities → JsonEntities
  17. type JsonSchema[+A] = DocumentedJsonSchema

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

    Permalink
    Definition Classes
    JsonSchemas
  19. sealed trait Method extends AnyRef

    Permalink
    Definition Classes
    Methods
  20. type Path[A] = DocumentedUrl

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

    Permalink
    Definition Classes
    Urls
  22. type QueryString[A] = DocumentedQueryString

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

    Permalink
    Definition Classes
    Urls
  24. type QueryStringParam[A] = DocumentedQueryStringParam

    Permalink
    Definition Classes
    Urls → Urls
  25. type Record[+A] = DocumentedRecord

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

    Permalink
    Definition Classes
    JsonSchemas
  27. type Request[A] = DocumentedRequest

    Permalink
    Definition Classes
    Requests → Requests
  28. type RequestEntity[A] = Option[DocumentedRequestEntity]

    Permalink
    Definition Classes
    Requests → Requests
  29. type RequestHeaders[A] = DocumentedHeaders

    Permalink
    Definition Classes
    Requests → Requests
  30. type Response[A] = List[DocumentedResponse]

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

    Permalink
    Definition Classes
    Responses
  32. type Segment[A] = Schema

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

    Permalink
    Definition Classes
    SemigroupalSyntax
  34. type Tagged[+A] = DocumentedCoProd

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

    Permalink
    Definition Classes
    JsonSchemas
  36. type Url[A] = DocumentedUrl

    Permalink
    Definition Classes
    Urls → Urls

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. object Delete extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  5. object DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas
  6. object Get extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  7. object Options extends Method with Product with Serializable

    Permalink
    Definition Classes
    Methods → Methods
  8. object Patch extends Method with Product with Serializable

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

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

    Permalink
    Definition Classes
    Methods → Methods
  11. def arrayJsonSchema[C[X] <: Seq[X], A](implicit jsonSchema: JsonSchema[A], factory: scala.collection.compat.Factory[A, C[A]]): JsonSchema[C[A]]

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

    Permalink
    Definition Classes
    Any
  13. lazy val bigdecimalJsonSchema: DocumentedJsonSchema

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

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  15. def booleanQueryString: QueryStringParam[Boolean]

    Permalink
    Definition Classes
    Urls → Urls
  16. def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]

    Permalink
    Definition Classes
    Urls → Urls
  17. def choiceTagged[A, B](taggedA: DocumentedCoProd, taggedB: DocumentedCoProd): DocumentedCoProd

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  18. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]

    Permalink
    Definition Classes
    Urls → Urls
  20. def defaultDiscriminatorName: String

    Permalink
    Definition Classes
    JsonSchemas
  21. 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
  22. lazy val doubleJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  23. def doubleQueryString: QueryStringParam[Double]

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

    Permalink
    Definition Classes
    Urls
  25. def emptyHeaders: DocumentedHeaders

    Permalink
    Definition Classes
    Requests → Requests
  26. def emptyRecord: DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  27. def emptyRequest: None.type

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

    Permalink
    Definition Classes
    Responses → Responses
  29. def endpoint[A, B](request: Request[A], response: Response[B], summary: Documentation = None, description: Documentation = None, tags: List[String] = Nil): Endpoint[A, B]

    Permalink
    Definition Classes
    Endpoints → Endpoints
  30. def enumeration[A](values: Seq[A])(encode: (A) ⇒ String)(implicit tpe: JsonSchema[String]): DocumentedEnum

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  31. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  33. def field[A](name: String, docs: Documentation)(implicit tpe: DocumentedJsonSchema): DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  34. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. lazy val floatJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  36. 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
  37. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  39. def header(name: String, docs: Documentation): RequestHeaders[String]

    Permalink
    Definition Classes
    Requests → Requests
  40. lazy val intJsonSchema: DocumentedJsonSchema

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

    Permalink
    Definition Classes
    Urls → Urls
  42. def intSegment: Segment[Int]

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

    Permalink
    Definition Classes
    Any
  44. def jsonRequest[A](docs: Documentation)(implicit codec: JsonSchema[A]): Option[DocumentedRequestEntity]

    Permalink
    Definition Classes
    JsonSchemaEntities → JsonEntities
  45. def jsonResponse[A](docs: Documentation)(implicit codec: JsonSchema[A]): List[DocumentedResponse]

    Permalink
    Definition Classes
    JsonSchemaEntities → JsonEntities
  46. def lazySchema[A](schema: ⇒ DocumentedJsonSchema, name: String): DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  47. lazy val longJsonSchema: DocumentedJsonSchema

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

    Permalink
    Definition Classes
    Urls → Urls
  49. def longSegment: Segment[Long]

    Permalink
    Definition Classes
    Urls → Urls
  50. def mapJsonSchema[A](implicit jsonSchema: DocumentedJsonSchema): DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  51. def named[A, S[_] <: DocumentedJsonSchema](schema: S[A], name: String): S[A]

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  52. final def ne(arg0: AnyRef): Boolean

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

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

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

    Permalink

    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
  56. def optField[A](name: String, docs: Documentation)(implicit tpe: DocumentedJsonSchema): DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  57. def optHeader(name: String, docs: Documentation): RequestHeaders[Option[String]]

    Permalink
    Definition Classes
    Requests → Requests
  58. implicit def optionalQueryStringParam[A](implicit param: QueryStringParam[A]): QueryStringParam[Option[A]]

    Permalink
    Definition Classes
    Urls → Urls
  59. val path: Path[Unit]

    Permalink
    Definition Classes
    Urls
  60. 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
  61. 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
  62. def qs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): QueryString[A]

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

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

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

    Permalink
    Definition Classes
    Urls → Urls
  66. implicit lazy val reqEntityInvFunctor: InvariantFunctor[RequestEntity]

    Permalink
    Definition Classes
    Requests → Requests
  67. implicit lazy val reqHeadersInvFunctor: InvariantFunctor[RequestHeaders]

    Permalink
    Definition Classes
    Requests → Requests
  68. implicit lazy val reqHeadersSemigroupal: Semigroupal[RequestHeaders]

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

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

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

    Permalink
    Definition Classes
    Urls → Urls
  72. lazy val stringJsonSchema: DocumentedJsonSchema

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

    Permalink
    Definition Classes
    Urls → Urls
  74. def stringSegment: Segment[String]

    Permalink
    Definition Classes
    Urls → Urls
  75. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  77. def textRequest(docs: Documentation): Option[DocumentedRequestEntity]

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

    Permalink
    Definition Classes
    Responses → Responses
  79. def toSchema(jsonSchema: DocumentedJsonSchema): Schema

    Permalink
  80. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  81. implicit lazy val urlInvFunctor: InvariantFunctor[Url]

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

    Permalink
    Definition Classes
    Urls → Urls
  83. lazy val uuidJsonSchema: DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  84. def uuidQueryString: QueryStringParam[UUID]

    Permalink
    Definition Classes
    Urls → Urls
  85. def uuidSegment: Segment[UUID]

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  89. def wheneverFound[A](response: Response[A], notFoundDocs: Documentation): Response[Option[A]]

    Permalink
    Definition Classes
    Responses → Responses
  90. def withDiscriminator[A](tagged: DocumentedCoProd, discriminatorName: String): DocumentedCoProd

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  91. def xmapJsonSchema[A, B](jsonSchema: DocumentedJsonSchema, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedJsonSchema

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  92. def xmapRecord[A, B](record: DocumentedRecord, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedRecord

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  93. def xmapTagged[A, B](tagged: DocumentedCoProd, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedCoProd

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  94. def zipRecords[A, B](recordA: DocumentedRecord, recordB: DocumentedRecord): DocumentedRecord

    Permalink
    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