trait JsonSchemaEntities extends algebra.JsonSchemaEntities with Endpoints with JsonSchemas
Interpreter for algebra.JsonSchemaEntities that produces a documentation of the JSON schemas.
- Source
- JsonSchemaEntities.scala
- Alphabetic
- By Inheritance
- JsonSchemaEntities
- JsonSchemas
- Endpoints
- Responses
- Requests
- Methods
- Urls
- JsonSchemaEntities
- JsonSchemas
- JsonEntities
- Endpoints
- Responses
- Requests
- SemigroupalSyntax
- InvariantFunctorSyntax
- Methods
- Urls
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
DocumentedEndpoint(path: String, item: PathItem) extends Product with Serializable
- path
Path template (e.g. “/user/{id}”)
- item
Item documentation
- Definition Classes
- Endpoints
-
type
Endpoint[A, B] = DocumentedEndpoint
- Definition Classes
- Endpoints → Endpoints
-
type
Enum[+A] = DocumentedEnum
- Definition Classes
- JsonSchemas → JsonSchemas
-
implicit
class
InvariantFunctorSyntax[A, F[_]] extends AnyRef
- Definition Classes
- InvariantFunctorSyntax
-
type
JsonRequest[A] = JsonSchema[A]
- Definition Classes
- JsonSchemaEntities → JsonEntities
-
type
JsonResponse[A] = JsonSchema[A]
- Definition Classes
- JsonSchemaEntities → JsonEntities
-
type
JsonSchema[+A] = DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
implicit final
class
JsonSchemaOps[A] extends AnyRef
- Definition Classes
- JsonSchemas
-
type
Path[A] = DocumentedUrl
- Definition Classes
- Urls → Urls
-
implicit
class
PathOps[A] extends AnyRef
- Definition Classes
- Urls
-
type
QueryString[A] = DocumentedQueryString
- Definition Classes
- Urls → Urls
-
implicit
class
QueryStringOps[A] extends AnyRef
- Definition Classes
- Urls
-
type
QueryStringParam[A] = DocumentedQueryStringParam
- Definition Classes
- Urls → Urls
-
type
Record[+A] = DocumentedRecord
- Definition Classes
- JsonSchemas → JsonSchemas
-
implicit final
class
RecordOps[A] extends AnyRef
- Definition Classes
- JsonSchemas
-
type
Request[A] = DocumentedRequest
- Definition Classes
- Requests → Requests
-
type
RequestEntity[A] = Option[DocumentedRequestEntity]
- Definition Classes
- Requests → Requests
-
type
RequestHeaders[A] = DocumentedHeaders
- Definition Classes
- Requests → Requests
-
type
Response[A] = List[DocumentedResponse]
- Definition Classes
- Responses → Responses
-
implicit
class
ResponseExtensions[A] extends AnyRef
- Definition Classes
- Responses
-
type
Segment[A] = Schema
- Definition Classes
- Urls → Urls
-
implicit
class
SemigroupalSyntax[A, F[_]] extends AnyRef
- Definition Classes
- SemigroupalSyntax
-
type
Tagged[+A] = DocumentedCoProd
- Definition Classes
- JsonSchemas → JsonSchemas
-
implicit final
class
TaggedOps[A] extends AnyRef
- Definition Classes
- JsonSchemas
-
type
Url[A] = DocumentedUrl
- Definition Classes
- Urls → Urls
-
sealed
trait
DocumentedJsonSchema extends AnyRef
- Definition Classes
- JsonSchemas
-
sealed
trait
Method extends AnyRef
- Definition Classes
- Methods
-
case class
DocumentedHeader(name: String, description: Option[String], required: Boolean, schema: Schema) extends Product with Serializable
- Definition Classes
- Requests
-
case class
DocumentedHeaders(value: List[DocumentedHeader]) extends Product with Serializable
- value
List of request header names (e.g. “Authorization”)
- Definition Classes
- Requests
-
case class
DocumentedRequest(method: Requests.Method, url: Requests.DocumentedUrl, headers: DocumentedHeaders, entity: Option[DocumentedRequestEntity]) extends Product with Serializable
- Definition Classes
- Requests
-
case class
DocumentedRequestEntity(documentation: Option[String], content: Map[String, MediaType]) extends Product with Serializable
- 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
-
case class
DocumentedResponse(status: Int, documentation: String, content: Map[String, MediaType]) extends Product with Serializable
- 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
-
case class
DocumentedParameter(name: String, required: Boolean, description: Option[String], schema: Schema) extends Product with Serializable
- name
Name of the parameter
- required
Whether this parameter is required or not (MUST be true for path parameters)
- Definition Classes
- Urls
-
case class
DocumentedQueryString(parameters: List[DocumentedParameter]) extends Product with Serializable
- parameters
List of query string parameters
- Definition Classes
- Urls
-
case class
DocumentedQueryStringParam(schema: Schema, isRequired: Boolean) extends Product with Serializable
- Definition Classes
- Urls
-
case class
DocumentedUrl(path: List[Either[String, DocumentedParameter]], queryParameters: List[DocumentedParameter]) extends Product with Serializable
- path
List of path segments. Left is a static segment, right i path parameter
- queryParameters
Query string parameters
- Definition Classes
- Urls
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
arrayJsonSchema[C[X] <: Seq[X], A](implicit jsonSchema: JsonSchema[A], factory: scala.collection.compat.Factory[A, C[A]]): JsonSchema[C[A]]
- Definition Classes
- JsonSchemas → JsonSchemas
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
lazy val
bigdecimalJsonSchema: DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
lazy val
booleanJsonSchema: DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
booleanQueryString: QueryStringParam[Boolean]
- Definition Classes
- Urls → Urls
-
def
chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]
- Definition Classes
- Urls → Urls
-
def
choiceTagged[A, B](taggedA: DocumentedCoProd, taggedB: DocumentedCoProd): DocumentedCoProd
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]
- Definition Classes
- Urls → Urls
-
def
defaultDiscriminatorName: String
- Definition Classes
- JsonSchemas
-
final
def
delete[UrlP, HeadersP, Out](url: Url[UrlP], headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
- Definition Classes
- Requests
-
lazy val
doubleJsonSchema: DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
doubleQueryString: QueryStringParam[Double]
- Definition Classes
- Urls → Urls
-
implicit
def
dummyPathToUrl[A](p: Path[A]): Url[A]
- Definition Classes
- Urls
-
def
emptyHeaders: DocumentedHeaders
- Definition Classes
- Requests → Requests
-
def
emptyRecord: DocumentedRecord
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
emptyRequest: None.type
- Definition Classes
- Requests → Requests
-
def
emptyResponse(docs: Documentation): Response[Unit]
- Definition Classes
- Responses → Responses
-
def
endpoint[A, B](request: Request[A], response: Response[B], summary: Documentation = None, description: Documentation = None, tags: List[String] = Nil): Endpoint[A, B]
- Definition Classes
- Endpoints → Endpoints
-
def
enumeration[A](values: Seq[A])(encode: (A) ⇒ String)(implicit tpe: JsonSchema[String]): DocumentedEnum
- Definition Classes
- JsonSchemas → JsonSchemas
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
field[A](name: String, docs: Documentation)(implicit tpe: DocumentedJsonSchema): DocumentedRecord
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
lazy val
floatJsonSchema: DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
final
def
get[UrlP, HeadersP, Out](url: Url[UrlP], headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
- Definition Classes
- Requests
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
header(name: String, docs: Documentation): RequestHeaders[String]
- Definition Classes
- Requests → Requests
-
lazy val
intJsonSchema: DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
intQueryString: QueryStringParam[Int]
- Definition Classes
- Urls → Urls
-
def
intSegment: Segment[Int]
- Definition Classes
- Urls → Urls
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
jsonRequest[A](docs: Documentation)(implicit codec: JsonSchema[A]): Option[DocumentedRequestEntity]
- Definition Classes
- JsonSchemaEntities → JsonEntities
-
def
jsonResponse[A](docs: Documentation)(implicit codec: JsonSchema[A]): List[DocumentedResponse]
- Definition Classes
- JsonSchemaEntities → JsonEntities
-
def
lazySchema[A](schema: ⇒ DocumentedJsonSchema, name: String): DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
lazy val
longJsonSchema: DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
longQueryString: QueryStringParam[Long]
- Definition Classes
- Urls → Urls
-
def
longSegment: Segment[Long]
- Definition Classes
- Urls → Urls
-
def
mapJsonSchema[A](implicit jsonSchema: DocumentedJsonSchema): DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
named[A, S[_] <: DocumentedJsonSchema](schema: S[A], name: String): S[A]
- Definition Classes
- JsonSchemas → JsonSchemas
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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
-
def
optField[A](name: String, docs: Documentation)(implicit tpe: DocumentedJsonSchema): DocumentedRecord
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
optHeader(name: String, docs: Documentation): RequestHeaders[Option[String]]
- Definition Classes
- Requests → Requests
-
implicit
def
optionalQueryStringParam[A](implicit param: QueryStringParam[A]): QueryStringParam[Option[A]]
- Definition Classes
- Urls → Urls
-
val
path: Path[Unit]
- Definition Classes
- Urls
-
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]
- Definition Classes
- Requests
-
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]
- Definition Classes
- Requests
-
def
qs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): QueryString[A]
- Definition Classes
- Urls → Urls
-
def
refineQueryStringParam[A, B](pa: QueryStringParam[A])(f: (A) ⇒ Option[B])(g: (B) ⇒ A): QueryStringParam[B]
- Definition Classes
- Urls → Urls
-
def
refineSegment[A, B](sa: Segment[A])(f: (A) ⇒ Option[B])(g: (B) ⇒ A): Segment[B]
- Definition Classes
- Urls → Urls
-
implicit
def
repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit param: QueryStringParam[A], factory: scala.collection.compat.Factory[A, CC[A]]): QueryStringParam[CC[A]]
- Definition Classes
- Urls → Urls
-
implicit
lazy val
reqEntityInvFunctor: InvariantFunctor[RequestEntity]
- Definition Classes
- Requests → Requests
-
implicit
lazy val
reqHeadersInvFunctor: InvariantFunctor[RequestHeaders]
- Definition Classes
- Requests → Requests
-
implicit
lazy val
reqHeadersSemigroupal: Semigroupal[RequestHeaders]
- Definition Classes
- Requests → Requests
-
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]
- Definition Classes
- Requests → Requests
-
def
segment[A](name: String, docs: Documentation)(implicit A: Segment[A]): Path[A]
- Definition Classes
- Urls → Urls
-
def
staticPathSegment(segment: String): Path[Unit]
- Definition Classes
- Urls → Urls
-
lazy val
stringJsonSchema: DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
stringQueryString: QueryStringParam[String]
- Definition Classes
- Urls → Urls
-
def
stringSegment: Segment[String]
- Definition Classes
- Urls → Urls
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
taggedRecord[A](recordA: DocumentedRecord, tag: String): DocumentedCoProd
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
textRequest(docs: Documentation): Option[DocumentedRequestEntity]
- Definition Classes
- Requests → Requests
-
def
textResponse(docs: Documentation): Response[String]
- Definition Classes
- Responses → Responses
- def toSchema(jsonSchema: DocumentedJsonSchema): Schema
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
implicit
lazy val
urlInvFunctor: InvariantFunctor[Url]
- Definition Classes
- Urls → Urls
-
def
urlWithQueryString[A, B](path: Path[A], qs: QueryString[B])(implicit tupler: Tupler[A, B]): Url[Out]
- Definition Classes
- Urls → Urls
-
lazy val
uuidJsonSchema: DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
uuidQueryString: QueryStringParam[UUID]
- Definition Classes
- Urls → Urls
-
def
uuidSegment: Segment[UUID]
- Definition Classes
- Urls → Urls
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
wheneverFound[A](response: Response[A], notFoundDocs: Documentation): Response[Option[A]]
- Definition Classes
- Responses → Responses
-
def
withDiscriminator[A](tagged: DocumentedCoProd, discriminatorName: String): DocumentedCoProd
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
xmapJsonSchema[A, B](jsonSchema: DocumentedJsonSchema, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedJsonSchema
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
xmapRecord[A, B](record: DocumentedRecord, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedRecord
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
xmapTagged[A, B](tagged: DocumentedCoProd, f: (A) ⇒ B, g: (B) ⇒ A): DocumentedCoProd
- Definition Classes
- JsonSchemas → JsonSchemas
-
def
zipRecords[A, B](recordA: DocumentedRecord, recordB: DocumentedRecord): DocumentedRecord
- Definition Classes
- JsonSchemas → JsonSchemas
-
object
DocumentedJsonSchema
- Definition Classes
- JsonSchemas
-
object
Delete extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
-
object
Get extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
-
object
Options extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
-
object
Patch extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
-
object
Post extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
-
object
Put extends Method with Product with Serializable
- Definition Classes
- Methods → Methods