Skip to main content

Module openapi_gen

Module openapi_gen 

Source
Expand description

OpenAPI spec generator from API discovery reports OpenAPI 3.0 spec generator from API discovery reports.

Takes a DiscoveryReport and produces an openapiv3::OpenAPI specification.

§Architecture

This is an adapter that converts domain-level discovery types into the openapiv3 representation. The domain layer has no knowledge of OpenAPI; this adapter bridges that gap.

§Example

use stygian_graph::adapters::openapi_gen::{OpenApiGenerator, SpecConfig};
use stygian_graph::domain::discovery::{DiscoveryReport, ResponseShape};
use serde_json::json;

let mut report = DiscoveryReport::new();
report.add_endpoint("list_users", ResponseShape::from_body(&json!({"id": 1, "name": "A"})));

let config = SpecConfig {
    title: "My API".into(),
    version: "1.0.0".into(),
    description: Some("Auto-discovered API".into()),
    servers: vec!["https://api.example.com".into()],
};

let spec = OpenApiGenerator::generate(&report, &config);
assert_eq!(spec.info.title, "My API");

Structs§

OpenApiGenerator
Generates an OpenAPI 3.0 specification from a DiscoveryReport.
SpecConfig
Configuration for the generated OpenAPI specification.