armature-openapi 0.1.0

OpenAPI specification generation for Armature APIs
Documentation
# armature-openapi

OpenAPI/Swagger documentation for the Armature framework.

## Features

- **Auto Generation** - Generate OpenAPI spec from routes
- **Swagger UI** - Built-in documentation UI
- **Type Inference** - Infer types from handlers
- **Validation** - Validate requests against schema
- **Export** - JSON/YAML spec export

## Installation

```toml
[dependencies]
armature-openapi = "0.1"
```

## Quick Start

```rust
use armature_openapi::{OpenApi, swagger_ui};
use armature_core::Application;

#[derive(OpenApi)]
struct ApiDoc;

let app = Application::new()
    .get("/users", list_users)
    .post("/users", create_user)
    .get("/swagger-ui/*", swagger_ui(ApiDoc::openapi()))
    .get("/openapi.json", openapi_spec(ApiDoc::openapi()));
```

## Annotations

```rust
/// List all users
#[openapi(
    summary = "List users",
    responses(
        (status = 200, description = "List of users", body = Vec<User>)
    )
)]
async fn list_users() -> Json<Vec<User>> {
    // ...
}
```

## Request Body

```rust
#[derive(ToSchema)]
struct CreateUser {
    /// User's name
    name: String,
    /// User's email
    email: String,
}
```

## License

MIT OR Apache-2.0