Most strings, especially in input/API types (request types) cannot be empty strings. The trivial approach would be to add that validation to deserialization stage. Think of Url: if it's not a valid url it would fail to deserialize. Another case would be non empty list, which we also should add or use nonempty crate