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
API Platform version(s) affected: 4.2.17
Description
After PR #7779,
AbstractItemNormalizer::supportsDenormalization()returnstruefor input DTOs during serializer re-entry (via theapi_platform_inputflag).For JSON:API, this causes
JsonApi\ItemNormalizerto claim the DTO and attempt to extractdata.attributesfrom already-flat data, yielding an empty array.The flow:
JsonApi\ItemNormalizer::denormalize()unwrapsdata.attributes→ flat arrayAbstractItemNormalizerdetects input DTO → re-enters serializer with flat dataJsonApi\ItemNormalizer::supportsDenormalization()now returnstrue(new flag)JsonApi\ItemNormalizer::denormalize()runs again on flat data →$data['data']['attributes']is null → empty