If I have a required field in my schema that's of type object, will the subfields of the object be required by default too?
No, if you have an object field, the subfields are all optional by default, regardless of whether the object field is required or not. For a subfield to be required, you need to explicitly mark it as such. In the example below, myObj.foo
is an optional field, but myObj.bar
is required.
fields:
- name: myObj
type: object
required: true
fields:
- name: foo
type: string
- name: bar
type: bigint
required: true