Yelp / bravado-core

Other
109 stars 98 forks source link

bravado-core does propagate x-nullable field in case of reference objects #335

Open macisamuele opened 5 years ago

macisamuele commented 5 years ago

While working on #331 I've noticed that bravado-core has some custom logic to ensure that the x-nullable field is propagated in case of a reference object.

According to the JSON schema definition a reference object is meant to fully replace the current object with the referenced one. This means that siblings attributes of a reference objects can not be considered (the definition does not strictly define this behaviour, so the decision is delegated to the implementer).

I'm mentioning this as ensuring the propagation of x-nullable results in

My suggestion would be to remove this manual handling and to bump swagger-spec-validator to 2.4.0+ which adds a warning in case a sibling is identified into a reference object (https://github.com/Yelp/swagger_spec_validator/pull/107)

⚠️ : this might break clients, so addressing this issue needs a major release