diff --git a/schemars/src/generator.rs b/schemars/src/generator.rs index be32c61..511b840 100644 --- a/schemars/src/generator.rs +++ b/schemars/src/generator.rs @@ -47,7 +47,7 @@ impl SchemaGenerator { let schema = T::make_schema(self); if let Schema::Object(mut o) = schema { o.schema = Some("http://json-schema.org/draft-07/schema#".to_owned()); - o.title = Some(Self::schema_name::()); + o.title = Some(T::schema_name()); for (_, (name, schema)) in self.definitions.iter() { o.definitions.insert(name.clone(), schema.clone()); } @@ -60,7 +60,7 @@ impl SchemaGenerator { let schema = T::make_schema(&mut self); if let Schema::Object(mut o) = schema { o.schema = Some("http://json-schema.org/draft-07/schema#".to_owned()); - o.title = Some(Self::schema_name::()); + o.title = Some(T::schema_name()); for (_, (name, schema)) in self.definitions { o.definitions.insert(name, schema); } @@ -69,12 +69,8 @@ impl SchemaGenerator { schema } - fn schema_name() -> String { - T::override_schema_name().unwrap_or_else(|| type_name::().to_owned()) - } - fn make_unique_name(&mut self) -> String { - Self::schema_name::() + T::schema_name() // TODO remove namespace, remove special chars // TODO enforce uniqueness } diff --git a/schemars/src/make_schema.rs b/schemars/src/make_schema.rs index 7ce7fa8..e66caac 100644 --- a/schemars/src/make_schema.rs +++ b/schemars/src/make_schema.rs @@ -4,8 +4,8 @@ use serde_json::json; use std::collections::BTreeMap as Map; pub trait MakeSchema { - fn override_schema_name() -> Option { - None + fn schema_name() -> String { + core::any::type_name::().to_owned() } fn generates_ref_schema() -> bool {