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§
- Open
ApiGenerator - Generates an OpenAPI 3.0 specification from a
DiscoveryReport. - Spec
Config - Configuration for the generated OpenAPI specification.