Skip to main content

Crate fastapi_openapi

Crate fastapi_openapi 

Source
Expand description

OpenAPI 3.1 types and schema generation.

This crate provides:

  • OpenAPI 3.1 document types
  • JSON Schema types
  • JsonSchema trait for compile-time schema generation

§Example

use fastapi_openapi::{OpenApiBuilder, JsonSchema};

#[derive(JsonSchema)]
struct Item {
    id: i64,
    name: String,
}

let spec = OpenApiBuilder::new("My API", "1.0.0")
    .route(&get_items_route())
    .build();

Structs§

ArraySchema
Array schema.
Components
Reusable components.
EnumSchema
Enum schema with allowed values.
Example
Example object for OpenAPI.
Info
API information.
MediaType
Media type content.
ObjectSchema
Object schema.
OneOfSchema
OneOf schema (union type).
OpenApi
OpenAPI 3.1 document.
OpenApiBuilder
OpenAPI document builder.
Operation
API operation.
ParamMeta
Parameter metadata for OpenAPI documentation.
Parameter
Operation parameter.
PathItem
Path item (operations for a path).
PrimitiveSchema
Primitive type schema.
RefSchema
Schema reference.
RequestBody
Request body.
Response
Response definition.
SchemaRegistry
Schema registry for #/components/schemas.
SchemaRegistryMut
A mutable view into an existing component schema map.
Server
Server information.
Tag
API tag.

Enums§

ParameterLocation
Parameter location.
Schema
JSON Schema representation.
SchemaType
JSON Schema primitive types.

Traits§

HasParamMeta
Trait for types that provide parameter metadata.
JsonSchema
Trait for types that can generate JSON Schema.