p

io.udash.rest

openapi

package openapi

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait AdditionalProperties extends AnyRef
  2. final case class Callback(byExpression: Map[String, PathItem]) extends Product with Serializable

    Representation of Callback Object

    Representation of Callback Object

    Annotations
    @transparent()
  3. final case class Components(schemas: Map[String, RefOr[Schema]] = Map.empty, responses: Map[String, RefOr[Response]] = Map.empty, parameters: Map[String, RefOr[Parameter]] = Map.empty, examples: Map[String, RefOr[Example]] = Map.empty, requestBodies: Map[String, RefOr[RequestBody]] = Map.empty, headers: Map[String, RefOr[Header]] = Map.empty, securitySchemes: Map[String, RefOr[SecurityScheme]] = Map.empty, links: Map[String, RefOr[Link]] = Map.empty, callbacks: Map[String, RefOr[Callback]] = Map.empty) extends Product with Serializable

    Representation of Components Object

  4. final case class Contact(name: com.avsystem.commons.OptArg[String] = OptArg.Empty, url: com.avsystem.commons.OptArg[String] = OptArg.Empty, email: com.avsystem.commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Representation of Contact Object

  5. final class DataType extends AbstractValueEnum
  6. final case class Discriminator(propertyName: String, mapping: Map[String, String] = Map.empty) extends Product with Serializable

    Representation of Discriminator Object

  7. final case class Encoding(contentType: com.avsystem.commons.OptArg[String] = OptArg.Empty, headers: Map[String, RefOr[Header]] = Map.empty, style: com.avsystem.commons.OptArg[Style] = OptArg.Empty, explode: com.avsystem.commons.OptArg[Boolean] = OptArg.Empty, allowReserved: Boolean = false) extends Product with Serializable

    Representation of Encoding Object

  8. final case class Entry[K, V](key: K, value: V) extends Product with Serializable
  9. final case class Example(summary: com.avsystem.commons.OptArg[String] = OptArg.Empty, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, value: com.avsystem.commons.OptArg[JsonValue] = OptArg.Empty, externalValue: com.avsystem.commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Representation of Example Object

  10. final case class ExternalDocumentation(url: String, description: com.avsystem.commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Representation of External Documentation Object

  11. final case class Header(description: com.avsystem.commons.OptArg[String] = OptArg.Empty, required: Boolean = false, deprecated: Boolean = false, allowEmptyValue: Boolean = false, style: com.avsystem.commons.OptArg[Style] = OptArg.Empty, explode: com.avsystem.commons.OptArg[Boolean] = OptArg.Empty, allowReserved: Boolean = false, schema: com.avsystem.commons.OptArg[RefOr[Schema]] = OptArg.Empty, example: com.avsystem.commons.OptArg[JsonValue] = OptArg.Empty, examples: Map[String, RefOr[Example]] = Map.empty, content: com.avsystem.commons.OptArg[Entry[String, MediaType]] = OptArg.Empty) extends Product with Serializable

    Representation of Header Object

  12. final case class Info(title: String, version: String, license: com.avsystem.commons.OptArg[License] = OptArg.Empty, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, termsOfService: com.avsystem.commons.OptArg[String] = OptArg.Empty, contact: com.avsystem.commons.OptArg[Contact] = OptArg.Empty) extends Product with Serializable

    Representation of Info Object

  13. final class InliningResolver extends SchemaResolver
  14. final case class License(name: String, url: com.avsystem.commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Representation of License Object

  15. final case class Link(operationRef: com.avsystem.commons.OptArg[String] = OptArg.Empty, operationId: com.avsystem.commons.OptArg[String] = OptArg.Empty, parameters: Map[String, JsonValue] = Map.empty, requestBody: com.avsystem.commons.OptArg[JsonValue] = OptArg.Empty, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, server: com.avsystem.commons.OptArg[Server] = OptArg.Empty) extends Product with Serializable

    Representation of Link Object

  16. final class Location extends AbstractValueEnum
  17. final case class MediaType(schema: com.avsystem.commons.OptArg[RefOr[Schema]] = OptArg.Empty, example: com.avsystem.commons.OptArg[JsonValue] = OptArg.Empty, examples: Map[String, RefOr[Example]] = Map.empty, encoding: Map[String, Encoding] = Map.empty) extends Product with Serializable

    Representation of Media Type Object

  18. final case class OAuthFlow(scopes: Map[String, String], authorizationUrl: com.avsystem.commons.OptArg[String] = OptArg.Empty, tokenUrl: com.avsystem.commons.OptArg[String] = OptArg.Empty, refreshUrl: com.avsystem.commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Representation of OAuth Flow Object

  19. final case class OAuthFlows(implicit: com.avsystem.commons.OptArg[OAuthFlow] = OptArg.Empty, password: com.avsystem.commons.OptArg[OAuthFlow] = OptArg.Empty, clientCredentials: com.avsystem.commons.OptArg[OAuthFlow] = OptArg.Empty, authorizationCode: com.avsystem.commons.OptArg[OAuthFlow] = OptArg.Empty) extends Product with Serializable

    Representation of OAuth Flows Object

  20. final case class OpenApi(openapi: String = OpenApi.Version, info: Info, paths: Paths, servers: List[Server] = Nil, components: com.avsystem.commons.OptArg[Components] = OptArg.Empty, security: List[SecurityRequirement] = Nil, tags: List[Tag] = Nil, externalDocs: com.avsystem.commons.OptArg[ExternalDocumentation] = OptArg.Empty) extends Product with Serializable

    Representation of OpenAPI Object from OpenAPI 3.0 specification.

    Representation of OpenAPI Object from OpenAPI 3.0 specification. It may be serialized to OpenAPI 3.0 compliant JSON using JsonStringOutput. This JSON can then be consumed by tools that support OpenAPI 3.0, e.g. Swagger UI.

  21. final case class OpenApiBody[T](restRequestBody: RestRequestBody[T], schemaAdjusters: List[SchemaAdjuster]) extends TypedMetadata[T] with Product with Serializable
  22. final case class OpenApiBodyField[T](info: OpenApiParamInfo[T], schemaAdjusters: List[SchemaAdjuster]) extends TypedMetadata[T] with Product with Serializable
  23. final case class OpenApiBodyOperation[T](name: String, methodTag: HttpMethodTag, operationAdjusters: List[OperationAdjuster], pathAdjusters: List[PathItemAdjuster], parameters: List[OpenApiParameter[_]], bodyFields: List[OpenApiBodyField[_]], bodyTypeTag: BodyTypeTag, resultType: RestResultType[T]) extends OpenApiOperation[T] with Product with Serializable
  24. final case class OpenApiCustomBodyOperation[T](name: String, methodTag: HttpMethodTag, operationAdjusters: List[OperationAdjuster], pathAdjusters: List[PathItemAdjuster], parameters: List[OpenApiParameter[_]], singleBody: OpenApiBody[_], resultType: RestResultType[T]) extends OpenApiOperation[T] with Product with Serializable
  25. final case class OpenApiGetOperation[T](name: String, methodTag: HttpMethodTag, operationAdjusters: List[OperationAdjuster], pathAdjusters: List[PathItemAdjuster], parameters: List[OpenApiParameter[_]], resultType: RestResultType[T]) extends OpenApiOperation[T] with Product with Serializable
  26. final case class OpenApiMetadata[T](prefixes: List[OpenApiPrefix[_]], gets: List[OpenApiGetOperation[_]], customBodyMethods: List[OpenApiCustomBodyOperation[_]], bodyMethods: List[OpenApiBodyOperation[_]]) extends Product with Serializable
    Annotations
    @implicitNotFound( ... ) @methodTag( ... ) @methodTag( ... )
  27. sealed trait OpenApiMethod[T] extends TypedMetadata[T]
  28. sealed trait OpenApiOperation[T] extends OpenApiMethod[T]
  29. final case class OpenApiParamInfo[T](name: String, whenAbsentInfo: com.avsystem.commons.Opt[WhenAbsentInfo[T]], flags: ParamFlags, restSchema: RestSchema[T]) extends TypedMetadata[T] with Product with Serializable
  30. final case class OpenApiParameter[T](paramTag: NonBodyTag, info: OpenApiParamInfo[T], adjusters: List[ParameterAdjuster]) extends TypedMetadata[T] with Product with Serializable
  31. final case class OpenApiPrefix[T](name: String, methodTag: Prefix, parameters: List[OpenApiParameter[_]], operationAdjusters: List[OperationAdjuster], pathAdjusters: List[PathItemAdjuster], operationIdPrefix: com.avsystem.commons.Opt[operationIdPrefix], result: OpenApiMetadata.Lazy[T]) extends OpenApiMethod[T] with Product with Serializable
  32. abstract class OpenApiServlet extends HttpServlet
  33. final case class Operation(tags: List[String] = Nil, summary: com.avsystem.commons.OptArg[String] = OptArg.Empty, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, externalDocs: com.avsystem.commons.OptArg[ExternalDocumentation] = OptArg.Empty, operationId: com.avsystem.commons.OptArg[String] = OptArg.Empty, parameters: List[RefOr[Parameter]] = Nil, requestBody: com.avsystem.commons.OptArg[RefOr[RequestBody]] = OptArg.Empty, responses: Responses, callbacks: Map[String, RefOr[Callback]] = Map.empty, deprecated: Boolean = false, security: List[SecurityRequirement] = Nil, servers: List[Server] = Nil) extends Product with Serializable

    Representation of Operation Object

  34. final case class Parameter(name: String, in: Location, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, required: Boolean = false, deprecated: Boolean = false, allowEmptyValue: Boolean = false, style: com.avsystem.commons.OptArg[Style] = OptArg.Empty, explode: com.avsystem.commons.OptArg[Boolean] = OptArg.Empty, allowReserved: Boolean = false, schema: com.avsystem.commons.OptArg[RefOr[Schema]] = OptArg.Empty, example: com.avsystem.commons.OptArg[JsonValue] = OptArg.Empty, examples: Map[String, RefOr[Example]] = Map.empty, content: com.avsystem.commons.OptArg[Entry[String, MediaType]] = OptArg.Empty) extends Product with Serializable

    Representation of Parameter Object

  35. final case class PathItem(summary: com.avsystem.commons.OptArg[String] = OptArg.Empty, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, get: com.avsystem.commons.OptArg[Operation] = OptArg.Empty, put: com.avsystem.commons.OptArg[Operation] = OptArg.Empty, post: com.avsystem.commons.OptArg[Operation] = OptArg.Empty, delete: com.avsystem.commons.OptArg[Operation] = OptArg.Empty, options: com.avsystem.commons.OptArg[Operation] = OptArg.Empty, head: com.avsystem.commons.OptArg[Operation] = OptArg.Empty, patch: com.avsystem.commons.OptArg[Operation] = OptArg.Empty, trace: com.avsystem.commons.OptArg[Operation] = OptArg.Empty, servers: List[Server] = Nil, parameters: List[RefOr[Parameter]] = Nil) extends Product with Serializable

    Representation of Path Item Object

  36. final case class PathOperation(path: String, method: HttpMethod, operation: Operation, pathAdjusters: List[PathItemAdjuster]) extends Product with Serializable
  37. final case class Paths(paths: Map[String, RefOr[PathItem]]) extends Product with Serializable

    Representation of Paths Object

    Representation of Paths Object

    Annotations
    @transparent()
  38. sealed trait RefOr[+A] extends AnyRef

    Represents a value which is either some directly available, inlined value (usually one of the OpenAPI objects, e.g.

    Represents a value which is either some directly available, inlined value (usually one of the OpenAPI objects, e.g. Schema, Parameter, Operation, etc.) or a Reference Object.

  39. final case class RequestBody(description: com.avsystem.commons.OptArg[String] = OptArg.Empty, content: Map[String, MediaType], required: Boolean = false) extends Product with Serializable

    Representation of Request Body Object

  40. final case class Response(description: String, headers: Map[String, RefOr[Header]] = Map.empty, content: Map[String, MediaType] = Map.empty, links: Map[String, RefOr[Link]] = Map.empty) extends Product with Serializable

    Representation of Response Object

  41. final case class Responses(byStatusCode: Map[Int, RefOr[Response]] = Map.empty, default: com.avsystem.commons.OptArg[RefOr[Response]] = OptArg.Empty) extends Product with Serializable

    Representation of Responses Object

  42. trait RestMediaTypes[T] extends AnyRef

    Intermediate typeclass which serves as basis for RestResponses and RestRequestBody.

    Intermediate typeclass which serves as basis for RestResponses and RestRequestBody. RestMediaTypes is derived by default from RestSchema. It should be defined manually for every type which has custom serialization to HttpBody defined so that generated OpenAPI properly reflects that custom serialization format.

    Annotations
    @implicitNotFound( ... )
  43. trait RestRequestBody[T] extends AnyRef

    Typeclass which defines how OpenAPI RequestBody Object will look like for a Given type when that type is used as a type of Body parameter of a CustomBody method.

    Typeclass which defines how OpenAPI RequestBody Object will look like for a Given type when that type is used as a type of Body parameter of a CustomBody method. By default, RestRequestBody is derived from RestMediaTypes which by itself is derived by default from RestSchema.

    Annotations
    @implicitNotFound( ... )
  44. trait RestResponses[T] extends AnyRef

    Typeclass which defines how an OpenAPI Responses Object will look like for a given type.

    Typeclass which defines how an OpenAPI Responses Object will look like for a given type. By default, RestResponses is derived based on RestMediaTypes for that type which is itself derived by default from RestSchema for that type. It should be defined manually for every type which has custom serialization to RestResponse defined so that generated OpenAPI properly reflects that custom serialization format.

    Annotations
    @implicitNotFound( ... )
  45. final case class RestResultType[T](responses: (SchemaResolver) ⇒ Responses) extends Product with Serializable

    Just like RestResponses, RestResultType is a typeclass that defines how an OpenAPI Responses Object will look like for an HTTP method which returns given type.

    Just like RestResponses, RestResultType is a typeclass that defines how an OpenAPI Responses Object will look like for an HTTP method which returns given type. The difference between RestResultType and RestResponses is that RestResultType is defined for full result type which usually is some kind of asynchronous wrapper over actual result type (e.g. Future). In such situation, RestResponses must be provided for T while RestResultType is provided for Future[T] (or whatever async wrapper is used), based on the RestResponses instance of T. You can see an example of this in FutureRestImplicits.

    RestResultType for OpenApiMetadata is analogous to HttpResponseType for RestMetadata.

  46. trait RestSchema[T] extends AnyRef
    Annotations
    @implicitNotFound( "RestSchema for ${T} not found" )
  47. sealed trait RestStructure[T] extends TypedMetadata[T]
  48. final case class Schema(type: com.avsystem.commons.OptArg[DataType] = OptArg.Empty, format: com.avsystem.commons.OptArg[String] = OptArg.Empty, title: com.avsystem.commons.OptArg[String] = OptArg.Empty, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, nullable: Boolean = false, readOnly: Boolean = false, writeOnly: Boolean = false, xml: com.avsystem.commons.OptArg[Xml] = OptArg.Empty, externalDocs: com.avsystem.commons.OptArg[ExternalDocumentation] = OptArg.Empty, deprecated: Boolean = false, multipleOf: com.avsystem.commons.OptArg[BigDecimal] = OptArg.Empty, maximum: com.avsystem.commons.OptArg[BigDecimal] = OptArg.Empty, exclusiveMaximum: Boolean = false, minimum: com.avsystem.commons.OptArg[BigDecimal] = OptArg.Empty, exclusiveMinimum: Boolean = false, maxLength: com.avsystem.commons.OptArg[Int] = OptArg.Empty, minLength: com.avsystem.commons.OptArg[Int] = OptArg.Empty, pattern: com.avsystem.commons.OptArg[String] = OptArg.Empty, items: com.avsystem.commons.OptArg[RefOr[Schema]] = OptArg.Empty, maxItems: com.avsystem.commons.OptArg[Int] = OptArg.Empty, minItems: com.avsystem.commons.OptArg[Int] = OptArg.Empty, uniqueItems: Boolean = false, properties: Map[String, RefOr[Schema]] = Map.empty, additionalProperties: AdditionalProperties = AdditionalProperties.Flag(true), maxProperties: com.avsystem.commons.OptArg[Int] = OptArg.Empty, minProperties: com.avsystem.commons.OptArg[Int] = OptArg.Empty, required: List[String] = Nil, allOf: List[RefOr[Schema]] = Nil, oneOf: List[RefOr[Schema]] = Nil, anyOf: List[RefOr[Schema]] = Nil, not: com.avsystem.commons.OptArg[RefOr[Schema]] = OptArg.Empty, discriminator: com.avsystem.commons.OptArg[Discriminator] = OptArg.Empty, enum: List[JsonValue] = Nil, default: com.avsystem.commons.OptArg[JsonValue] = OptArg.Empty, example: com.avsystem.commons.OptArg[JsonValue] = OptArg.Empty) extends Product with Serializable

    Representation of Schema Object

  49. final class SchemaRegistry extends SchemaResolver

    An implementation of SchemaResolver which registers named RestSchemas and replaces them with a Reference Object.

    An implementation of SchemaResolver which registers named RestSchemas and replaces them with a Reference Object. All the registered schemas can then be extracted and listed in the Components object.

  50. trait SchemaResolver extends AnyRef
  51. final case class SecurityRequirement(schemes: Map[String, List[String]]) extends Product with Serializable

    Representation of Security Requirement Object

    Representation of Security Requirement Object

    Annotations
    @transparent()
  52. sealed trait SecurityScheme extends AnyRef

    Representation of Security Scheme Object

    Representation of Security Scheme Object

    Annotations
    @flatten( "type" )
  53. final case class Server(url: String, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, serverVariables: Map[String, ServerVariable] = Map.empty) extends Product with Serializable

    Representation of Server Object

  54. final case class ServerVariable(default: String, enum: List[String] = Nil, description: com.avsystem.commons.OptArg[String] = OptArg.Empty) extends Product with Serializable

    Representation of Server Variable Object

  55. final class Style extends AbstractValueEnum

    Representation of parameter style

  56. final case class Tag(name: String, description: com.avsystem.commons.OptArg[String] = OptArg.Empty, externalDocs: com.avsystem.commons.OptArg[ExternalDocumentation] = OptArg.Empty) extends Product with Serializable

    Representation of Tag Object

  57. final case class WhenAbsentInfo[T](annot: whenAbsent[T], asJson: AsRaw[JsonValue, T]) extends TypedMetadata[T] with Product with Serializable
  58. final case class Xml(name: com.avsystem.commons.OptArg[String] = OptArg.Empty, namespace: com.avsystem.commons.OptArg[String] = OptArg.Empty, prefix: com.avsystem.commons.OptArg[String] = OptArg.Empty, attribute: Boolean = false, wrapped: Boolean = false) extends Product with Serializable

    Representation of Xml Object

Value Members

  1. object AdditionalProperties
  2. object Callback extends HasGenObjectCodec[Callback] with Serializable
  3. object Components extends HasGenObjectCodec[Components] with Serializable
  4. object Contact extends HasGenObjectCodec[Contact] with Serializable
  5. object DataType extends AbstractValueEnumCompanion[DataType] with Serializable
  6. object Discriminator extends HasGenObjectCodec[Discriminator] with Serializable
  7. object Encoding extends HasGenObjectCodec[Encoding] with Serializable
  8. object Entry extends Serializable
  9. object Example extends HasGenObjectCodec[Example] with Serializable
  10. object ExternalDocumentation extends HasGenObjectCodec[ExternalDocumentation] with Serializable
  11. object Format
  12. object Header extends HasGenObjectCodec[Header] with Serializable
  13. object Info extends HasGenObjectCodec[Info] with Serializable
  14. object InliningResolver
  15. object License extends HasGenObjectCodec[License] with Serializable
  16. object Link extends HasGenObjectCodec[Link] with Serializable
  17. object Location extends AbstractValueEnumCompanion[Location] with Serializable
  18. object MediaType extends HasGenObjectCodec[MediaType] with Serializable
  19. object OAuthFlow extends HasGenObjectCodec[OAuthFlow] with Serializable
  20. object OAuthFlows extends HasGenObjectCodec[OAuthFlows] with Serializable
  21. object OpenApi extends HasGenObjectCodec[OpenApi] with Serializable
  22. object OpenApiMetadata extends RpcMetadataCompanion[OpenApiMetadata] with Serializable
  23. object OpenApiServlet extends Serializable
  24. object Operation extends HasGenObjectCodec[Operation] with Serializable
  25. object Parameter extends HasGenObjectCodec[Parameter] with Serializable
  26. object PathItem extends HasGenObjectCodec[PathItem] with Serializable
  27. object Paths extends HasGenObjectCodec[Paths] with Serializable
  28. object RefOr
  29. object RequestBody extends HasGenObjectCodec[RequestBody] with Serializable
  30. object Response extends HasGenObjectCodec[Response] with Serializable
  31. object Responses extends Serializable
  32. object RestMediaTypes
  33. object RestRequestBody
  34. object RestResponses
  35. object RestResultType extends Serializable
  36. object RestSchema
  37. object RestStructure extends AdtMetadataCompanion[RestStructure]
  38. object Schema extends HasGenObjectCodec[Schema] with Serializable
  39. object SecurityRequirement extends HasGenObjectCodec[SecurityRequirement] with Serializable
  40. object SecurityScheme
  41. object Server extends HasGenObjectCodec[Server] with Serializable
  42. object ServerVariable extends HasGenObjectCodec[ServerVariable] with Serializable
  43. object Style extends AbstractValueEnumCompanion[Style] with Serializable
  44. object Tag extends HasGenObjectCodec[Tag] with Serializable
  45. object Xml extends HasGenObjectCodec[Xml] with Serializable

Ungrouped