core icon indicating copy to clipboard operation
core copied to clipboard

If none of the nested object's properties are part of serialization groups, array is returned instead of null

Open ostrolucky opened this issue 1 year ago • 1 comments

API Platform version(s) affected: 3.2.18

Description
If object is part of the correct serialization group, but nested object doesn't have this group assigned, nested object is serialized as empty array. Instead, I would expect exception to be thrown or null returned instead of array

How to reproduce
Given code

class Foo {
  public __construct(#[Groups('groupA')] public Bar $bar) {}
}
class Bar {
  public __construct (#[Groups('groupB')] public string $baz) {};
}

And return new Foo(new Bar('baz')); with groupA as serialization group, APIP will serialize it like so {"foo": {"bar": []}}. Instead, I expect it will serialize it like {"foo": {"bar": null}}, since serializing this as array breaks OpenAPI contract

Possible Solution
Throw exception, or return null

ostrolucky avatar Apr 11 '24 13:04 ostrolucky

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jun 12 '24 22:06 stale[bot]