Skip to content

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

Open
@ostrolucky

Description

@ostrolucky

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions