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 DocumentedRequest(method: Requests.Method, url: Requests.DocumentedUrl, headers: DocumentedHeaders, entity: Option[DocumentedRequestEntity]) extends Product with Serializable

    Permalink
    Definition Classes
    Requests
  8. 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
  9. 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
  10. 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
  11. type Endpoint[A, B] = DocumentedEndpoint

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

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

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

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

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

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

    Permalink
    Definition Classes
    JsonSchemas
  18. sealed trait Method extends AnyRef

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

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

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

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

    Permalink
    Definition Classes
    Urls
  23. type QueryStringParam[A] = Schema

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    JsonSchemas
  35. 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], cbf: CanBuildFrom[_, 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 chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]

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

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

    Permalink
    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]

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

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

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

    Permalink
    Definition Classes
    Urls
  23. def emptyHeaders: DocumentedHeaders

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

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

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

    Permalink
    Definition Classes
    Responses → Responses
  27. 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
  28. def enumeration[A](values: Seq[A])(encode: (A) ⇒ String)(implicit tpe: JsonSchema[String]): DocumentedEnum

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Urls → Urls
  41. def invmapJsonSchema[A, B](jsonSchema: DocumentedJsonSchema, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedJsonSchema

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Urls → Urls
  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. def optQs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): QueryString[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. implicit lazy val reqEntityInvFunctor: InvariantFunctor[RequestEntity]

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

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

    Permalink
    Definition Classes
    Requests → Requests
  66. 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
  67. def segment[A](name: String, docs: Documentation)(implicit A: Segment[A]): Path[A]

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

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

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

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

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

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

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

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

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

    Permalink
  77. def toString(): String

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    JsonSchemas → JsonSchemas
  85. 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