oaspec/openapi/spec
Types
Components section containing reusable schemas, parameters, etc.
pub type Components {
Components(
schemas: dict.Dict(String, schema.SchemaRef),
parameters: dict.Dict(String, Parameter),
request_bodies: dict.Dict(String, RequestBody),
responses: dict.Dict(String, Response),
security_schemes: dict.Dict(String, SecurityScheme),
)
}
Constructors
-
Components( schemas: dict.Dict(String, schema.SchemaRef), parameters: dict.Dict(String, Parameter), request_bodies: dict.Dict(String, RequestBody), responses: dict.Dict(String, Response), security_schemes: dict.Dict(String, SecurityScheme), )
HTTP method enumeration.
pub type HttpMethod {
Get
Post
Put
Delete
Patch
}
Constructors
-
Get -
Post -
Put -
Delete -
Patch
API metadata.
pub type Info {
Info(
title: String,
description: option.Option(String),
version: String,
)
}
Constructors
-
Info( title: String, description: option.Option(String), version: String, )
Media type definition.
pub type MediaType {
MediaType(schema: option.Option(schema.SchemaRef))
}
Constructors
-
MediaType(schema: option.Option(schema.SchemaRef))
Top-level OpenAPI 3.x specification.
pub type OpenApiSpec {
OpenApiSpec(
openapi: String,
info: Info,
paths: dict.Dict(String, PathItem),
components: option.Option(Components),
servers: List(Server),
security: List(SecurityRequirement),
)
}
Constructors
-
OpenApiSpec( openapi: String, info: Info, paths: dict.Dict(String, PathItem), components: option.Option(Components), servers: List(Server), security: List(SecurityRequirement), )
An API operation (endpoint).
pub type Operation {
Operation(
operation_id: option.Option(String),
summary: option.Option(String),
description: option.Option(String),
tags: List(String),
parameters: List(Parameter),
request_body: option.Option(RequestBody),
responses: dict.Dict(String, Response),
deprecated: Bool,
security: option.Option(List(SecurityRequirement)),
)
}
Constructors
-
Operation( operation_id: option.Option(String), summary: option.Option(String), description: option.Option(String), tags: List(String), parameters: List(Parameter), request_body: option.Option(RequestBody), responses: dict.Dict(String, Response), deprecated: Bool, security: option.Option(List(SecurityRequirement)), )
An API parameter.
pub type Parameter {
Parameter(
name: String,
in_: ParameterIn,
description: option.Option(String),
required: Bool,
schema: option.Option(schema.SchemaRef),
style: option.Option(String),
deprecated: Bool,
)
}
Constructors
-
Parameter( name: String, in_: ParameterIn, description: option.Option(String), required: Bool, schema: option.Option(schema.SchemaRef), style: option.Option(String), deprecated: Bool, )
Parameter location.
pub type ParameterIn {
InPath
InQuery
InHeader
InCookie
}
Constructors
-
InPath -
InQuery -
InHeader -
InCookie
A path item containing operations for each HTTP method.
pub type PathItem {
PathItem(
summary: option.Option(String),
description: option.Option(String),
get: option.Option(Operation),
post: option.Option(Operation),
put: option.Option(Operation),
delete: option.Option(Operation),
patch: option.Option(Operation),
parameters: List(Parameter),
)
}
Constructors
-
PathItem( summary: option.Option(String), description: option.Option(String), get: option.Option(Operation), post: option.Option(Operation), put: option.Option(Operation), delete: option.Option(Operation), patch: option.Option(Operation), parameters: List(Parameter), )
A request body definition.
pub type RequestBody {
RequestBody(
description: option.Option(String),
content: dict.Dict(String, MediaType),
required: Bool,
)
}
Constructors
-
RequestBody( description: option.Option(String), content: dict.Dict(String, MediaType), required: Bool, )
A response definition.
pub type Response {
Response(
description: option.Option(String),
content: dict.Dict(String, MediaType),
)
}
Constructors
-
Response( description: option.Option(String), content: dict.Dict(String, MediaType), )
A security requirement: all schemes in the list must be satisfied (AND). The outer list in operation/top-level security is OR — any one SecurityRequirement suffices.
pub type SecurityRequirement {
SecurityRequirement(schemes: List(SecuritySchemeRef))
}
Constructors
-
SecurityRequirement(schemes: List(SecuritySchemeRef))
Security scheme definition.
pub type SecurityScheme {
ApiKeyScheme(name: String, in_: String)
HttpScheme(
scheme: String,
bearer_format: option.Option(String),
)
OAuth2Scheme(description: option.Option(String))
}
Constructors
-
ApiKeyScheme(name: String, in_: String) -
HttpScheme(scheme: String, bearer_format: option.Option(String)) -
OAuth2Scheme(description: option.Option(String))
A single scheme reference within a security requirement (AND element).
pub type SecuritySchemeRef {
SecuritySchemeRef(scheme_name: String, scopes: List(String))
}
Constructors
-
SecuritySchemeRef(scheme_name: String, scopes: List(String))
Server object.
pub type Server {
Server(url: String, description: option.Option(String))
}
Constructors
-
Server(url: String, description: option.Option(String))
Values
pub fn method_to_lower(method: HttpMethod) -> String
Convert HTTP method to lowercase string.
pub fn method_to_string(method: HttpMethod) -> String
Convert HTTP method to string.