Default coercion in Validators.js returns undefined for empty payload
DanielAnfelt opened this issue · 2 comments
DanielAnfelt commented
When hapi-openapi tries to validate the payload for an endpoint, and the payload is just an empty object, it will replace the empty object with an undefined
instead. In my case, that meant that my object which didn't require any property to exist gave me a 422 response back.
The magic lines are currently 269 to 271 where:
if (Util.isObject(data) && !Object.keys(data).length) {
return undefined;
}
I'm not sure what this is meant to accomplish, but it gave me a very unexpected 422 back.
tpburch commented
I am also having this issue. My assumption is that if the parameter is in body
, the empty object should be returned rather than undefined
.
Is this assumption correct?
Is the same true for other values of in
?
dcharbonnier commented
this issue is resolved with #178