OpenApi

@Serializable(with = OpenApi.CustomSerializer::class)
data class OpenApi(val version: String, val info: OpenApi.Info, val tags: List<OpenApi.Tag> = emptyList(), val servers: List<OpenApi.Server> = emptyList(), val paths: Map<String, OpenApi.Path>, val components: OpenApi.Components, val security: List<Map<String, List<String>>> = emptyList(), val externalDocs: OpenApi.ExternalDocs? = null, val extensions: Map<String, JsonElement> = emptyMap())(source)

Constructors

Link copied to clipboard
constructor(version: String, info: OpenApi.Info, tags: List<OpenApi.Tag> = emptyList(), servers: List<OpenApi.Server> = emptyList(), paths: Map<String, OpenApi.Path>, components: OpenApi.Components, security: List<Map<String, List<String>>> = emptyList(), externalDocs: OpenApi.ExternalDocs? = null, extensions: Map<String, JsonElement> = emptyMap())

Types

Link copied to clipboard
data class Components(val schemas: Map<String, OpenApi.Components.Schema>, val securitySchemes: Map<String, OpenApi.SecurityScheme> = emptyMap(), val parameters: Map<String, OpenApi.Parameter> = emptyMap(), val examples: JsonElement? = null, val responses: Map<String, OpenApi.Operation.Response> = emptyMap(), val headers: Map<String, OpenApi.Operation.Header> = emptyMap())
Link copied to clipboard
data class ExternalDocs(val url: String, val description: String? = null)
Link copied to clipboard
@Serializable(with = OpenApi.Info.Companion.Serializer::class)
data class Info(val title: String, val summary: String? = null, val description: String? = null, val termsOfService: String? = null, val contact: OpenApi.Info.Contact? = null, val license: OpenApi.Info.License? = null, val version: String, val extensions: Map<String, JsonElement> = emptyMap())
Link copied to clipboard
@Serializable(with = OpenApi.Operation.CustomSerializer::class)
data class Operation(val id: String, val summary: String? = null, val description: String? = null, val tags: List<String> = emptyList(), val requestBody: OpenApi.Operation.RequestBody? = null, val parameters: List<OpenApi.Parameter> = emptyList(), val responses: Map<String, OpenApi.Operation.Response>, val security: List<Map<String, List<String>>> = emptyList(), val externalDocs: OpenApi.ExternalDocs? = null, val extensions: Map<String, JsonElement> = emptyMap(), val deprecated: Boolean = false, val servers: List<OpenApi.Server> = emptyList())
Link copied to clipboard
@Serializable(with = OpenApi.Parameter.CustomSerializer::class)
data class Parameter(val ref: String? = null, val name: String? = null, val position: OpenApi.Parameter.Position? = null, val description: String? = null, val required: Boolean = false, val deprecated: Boolean = false, val allowEmptyValue: Boolean = false, val schema: OpenApi.Components.Schema? = null, val example: JsonElement? = null, val examples: JsonElement? = null, val extensions: Map<String, JsonElement> = emptyMap())
Link copied to clipboard
data class Path(val parameters: List<OpenApi.Parameter> = emptyList(), val head: OpenApi.Operation? = null, val get: OpenApi.Operation? = null, val post: OpenApi.Operation? = null, val put: OpenApi.Operation? = null, val patch: OpenApi.Operation? = null, val delete: OpenApi.Operation? = null)
Link copied to clipboard
sealed interface SecurityScheme
Link copied to clipboard
data class Server(val url: String, val description: String? = null, val variables: Map<String, OpenApi.Server.Variable> = emptyMap())
Link copied to clipboard
data class Tag(val name: String, val description: String? = null, val externalDocs: OpenApi.ExternalDocs? = null)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@SerialName(value = "openapi")
val version: String