Open ieure opened 2 years ago
I have a schema with a UUID property. It has a regexp to validate its contents, but isn't marked as required:
"uuid": { "type": "string", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }
Non-required fields get an omitempty added to their json struct tag:
omitempty
json
Uud string `json:"uuid,omitempty"`
However, MarshalJSON doesn't understand omitempty, so it always emits the field:
MarshalJSON
{"uuid": ""}
This causes schema validation to fail, since the empty string doesn't match the declared pattern.
I have a schema with a UUID property. It has a regexp to validate its contents, but isn't marked as required:
Non-required fields get an
omitempty
added to theirjson
struct tag:However,
MarshalJSON
doesn't understandomitempty
, so it always emits the field:This causes schema validation to fail, since the empty string doesn't match the declared pattern.