API Platform version(s) affected: 4.2.17
Description
After PR #7779, AbstractItemNormalizer::supportsDenormalization() returns true for input DTOs during serializer re-entry (via the api_platform_input flag).
For JSON:API, this causes JsonApi\ItemNormalizer to claim the DTO and attempt to extract data.attributes from already-flat data, yielding an empty array.
The flow:
JsonApi\ItemNormalizer::denormalize() unwraps data.attributes → flat array
AbstractItemNormalizer detects input DTO → re-enters serializer with flat data
JsonApi\ItemNormalizer::supportsDenormalization() now returns true (new flag)
JsonApi\ItemNormalizer::denormalize() runs again on flat data → $data['data']['attributes'] is null → empty
- Input DTO properties are all null