Skip to content

Commit 01eedb7

Browse files
authored
fix(schemar): use self-defined settings (#180)
Ignores fields that are not defined in the spec file. Signed-off-by: jokemanfire <[email protected]>
1 parent 614d974 commit 01eedb7

File tree

1 file changed

+7
-1
lines changed
  • crates/rmcp/src/handler/server

1 file changed

+7
-1
lines changed

crates/rmcp/src/handler/server/tool.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,13 @@ use crate::{
1414
};
1515
/// A shortcut for generating a JSON schema for a type.
1616
pub fn schema_for_type<T: JsonSchema>() -> JsonObject {
17-
let settings = schemars::r#gen::SchemaSettings::openapi3();
17+
let mut settings = schemars::r#gen::SchemaSettings::default();
18+
settings.option_nullable = true;
19+
settings.option_add_null_type = false;
20+
settings.definitions_path = "#/components/schemas/".to_owned();
21+
settings.meta_schema = None;
22+
settings.visitors = Vec::default();
23+
settings.inline_subschemas = false;
1824
let generator = settings.into_generator();
1925
let schema = generator.into_root_schema_for::<T>();
2026
let object = serde_json::to_value(schema).expect("failed to serialize schema");

0 commit comments

Comments
 (0)