#![cfg(feature = "openapi")] use rweb::*; use serde::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize, Schema)] #[schema(component = "Item")] struct ComponentTestReq { data: String, } #[get("/")] fn component(_: Query) -> String { String::new() } #[test] fn component_test() { let (spec, _) = openapi::spec().build(|| { // component() }); assert!(spec.paths.get("/").is_some()); assert!(spec.paths.get("/").unwrap().get.is_some()); let yaml = serde_yaml::to_string(&spec).unwrap(); println!("{}", yaml); } #[derive(Debug, Deserialize, Schema)] struct ExampleReq { #[schema(example = "10")] limit: usize, data: String, } #[get("/")] fn example(_: Query) -> String { String::new() } #[test] fn example_test() { let (spec, _) = openapi::spec().build(|| { // example() }); assert!(spec.paths.get("/").is_some()); assert!(spec.paths.get("/").unwrap().get.is_some()); let yaml = serde_yaml::to_string(&spec).unwrap(); println!("{}", yaml); assert!(yaml.contains("10")); }