Trait

endpoints.openapi

Endpoints

Related Doc: package openapi

Permalink

trait Endpoints extends algebra.Endpoints with Requests with Responses

Interpreter for algebra.Endpoints that produces an OpenApi instance for endpoints.

Source
Endpoints.scala
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Endpoints
  2. Responses
  3. StatusCodes
  4. Requests
  5. Methods
  6. Urls
  7. Endpoints
  8. Responses
  9. StatusCodes
  10. Requests
  11. SemigroupalSyntax
  12. PartialInvariantFunctorSyntax
  13. InvariantFunctorSyntax
  14. Methods
  15. Urls
  16. AnyRef
  17. 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

  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. 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
  5. case class DocumentedQueryString(parameters: List[DocumentedParameter]) extends Product with Serializable

    Permalink

    parameters

    List of query string parameters

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

    Permalink
    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: Responses.StatusCode, documentation: String, content: Map[String, MediaType]) extends Product with Serializable

    Permalink

    status

    Response status code (e.g. OK or NotFound)

    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 is a path parameter

    queryParameters

    Query string parameters

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

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

    Permalink
    Definition Classes
    InvariantFunctorSyntax
  13. sealed trait Method extends AnyRef

    Permalink
    Definition Classes
    Methods
  14. implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef

    Permalink
    Definition Classes
    PartialInvariantFunctorSyntax
  15. type Path[A] = DocumentedUrl

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

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

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

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

    Permalink
    Definition Classes
    Urls → Urls
  20. type Request[A] = DocumentedRequest

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

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

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

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

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

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

    Permalink
    Definition Classes
    SemigroupalSyntax
  27. type StatusCode = Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  28. 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. def BadRequest: Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  5. object Delete extends Method with Product with Serializable

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

    Permalink
    Definition Classes
    Methods → Methods
  7. def NotFound: Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  8. def OK: Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  9. object Options extends Method with Product with Serializable

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

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

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

    Permalink
    Definition Classes
    Methods → Methods
  13. def Unauthorized: Int

    Permalink
    Definition Classes
    StatusCodes → StatusCodes
  14. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  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 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. 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
  20. def doubleQueryString: QueryStringParam[Double]

    Permalink
    Definition Classes
    Urls → Urls
  21. def doubleSegment: Segment[Double]

    Permalink
    Definition Classes
    Urls → Urls
  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 emptyRequest: None.type

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

    Permalink
    Definition Classes
    Responses → Responses
  26. 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
  27. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  30. 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
  31. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Requests → Requests
  34. def intQueryString: QueryStringParam[Int]

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

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

    Permalink
    Definition Classes
    Any
  37. def longQueryString: QueryStringParam[Long]

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  42. 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

  43. def optHeader(name: String, docs: Documentation): RequestHeaders[Option[String]]

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

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

    Permalink
    Definition Classes
    Urls
  46. implicit lazy val pathPartialInvariantFunctor: PartialInvariantFunctor[Path]

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

    Permalink
    Definition Classes
    Urls → Urls
  50. implicit lazy val queryStringParamPartialInvFunctor: PartialInvariantFunctor[QueryStringParam]

    Permalink
    Definition Classes
    Urls → Urls
  51. implicit lazy val queryStringPartialInvFunctor: PartialInvariantFunctor[QueryString]

    Permalink
    Definition Classes
    Urls → Urls
  52. def remainingSegments(name: String, docs: Documentation): Path[String]

    Permalink
    Definition Classes
    Urls → Urls
  53. 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
  54. implicit lazy val reqEntityInvFunctor: InvariantFunctor[RequestEntity]

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

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

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

    Permalink
    Definition Classes
    Urls → Urls
  59. implicit lazy val segmentPartialInvFunctor: PartialInvariantFunctor[Segment]

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

    Permalink
    Definition Classes
    Urls → Urls
  61. def stringQueryString: QueryStringParam[String]

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

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

    Permalink
    Definition Classes
    AnyRef
  64. def textRequest(docs: Documentation): Option[DocumentedRequestEntity]

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

    Permalink
    Definition Classes
    Responses → Responses
  66. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  67. implicit lazy val urlPartialInvFunctor: PartialInvariantFunctor[Url]

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

    Permalink
    Definition Classes
    Urls → Urls
  69. def uuidQueryString: QueryStringParam[UUID]

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

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

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

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

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

    Permalink
    Definition Classes
    Responses → Responses

Inherited from Responses

Inherited from StatusCodes

Inherited from Requests

Inherited from Methods

Inherited from Urls

Inherited from algebra.Endpoints

Inherited from algebra.Responses

Inherited from algebra.StatusCodes

Inherited from algebra.Requests

Inherited from algebra.Methods

Inherited from algebra.Urls

Inherited from AnyRef

Inherited from Any

Ungrouped