use axum::response::Json; use serde_json::Value; use utoipa::openapi::OpenApiBuilder; /// GET /docs/openapi.json /// /// 返回 OpenAPI 3.0 规范 JSON 文档 pub async fn openapi_spec() -> Json { let mut info = utoipa::openapi::Info::new( "ERP Platform API", env!("CARGO_PKG_VERSION"), ); info.description = Some("ERP 平台底座 REST API 文档".to_string()); let spec = OpenApiBuilder::new() .info(info) .build(); Json(serde_json::to_value(spec).unwrap_or_default()) }