schemars
schemars copied to clipboard
Generate JSON Schema documents from Rust code
In [Project Status and Road to 1.0](https://github.com/GREsau/schemars/issues/112), one of the requirements for schemars 1.0 was "handling of different JSON schema versions/dialects (and how to handle future JSON schema versions)". Handling...
We are using Schemars for schema generation in our project and it has been great! I have a particular struct that is used to both deserialize from PascalCase XML and...
```rust use schemars::{schema_for, JsonSchema}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; #[derive(Serialize, Deserialize, JsonSchema)] pub struct MyStruct { pub values: HashMap, #[serde(flatten)] pub flatten: HashMap, } fn main() { let schema =...
Hey there, (First off, thank you for your maintenance of schemars, it's really doing a lot of heavy lifting in the kube ecosystem where it's used everywhere - and it's...
This adds a new feature, `time`, which enables the `time` crate. `JsonSchema` implementations are provided for the `time::{OffsetDateTime, PrimitiveDateTime, Date, Time}`. The existing time modules are renamed to `std_time`.
I'd like to be able to use [Utf8Path](https://docs.rs/camino/1.1.4/camino/struct.Utf8Path.html) and [Utf8PathBuf](https://docs.rs/camino/1.1.4/camino/struct.Utf8PathBuf.html) like the std equivalents when deriving JsonSchema. I _believe_ the implementation is the same as for those types over in...
Hi there! Firstly, thanks for this library. It's really helped a lot of the Rust web ecosystem. I've been using `derive(schemars::JsonSchema)` on large enums for a while. By "large" I...
JSON specifications defines an optional `$id` for root schema. It's not required but recommended as best practices. See for instance: https://json-schema.org/understanding-json-schema/structuring.html#id Currently generating a schema, even with custom config, does...
Regardless the fact that cargo.toml has smol_str enabled for the crate `schemars = { version = "0.8.16", features = ["smol_str", "chrono"] }` it still doesn't works with struct containing this...