Guides
Tutorials
Converts between objects and array.
class ApiPlatform\JsonApi\Serializer\ItemNormalizer extends ApiPlatform\Serializer\AbstractItemNormalizer implements Symfony\Component\Serializer\Normalizer\CacheableSupportsMethodInterface, Symfony\Component\Serializer\SerializerAwareInterface, Symfony\Component\Serializer\Normalizer\DenormalizerInterface, Symfony\Component\Serializer\Normalizer\NormalizerInterface
{
public __construct(ApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface $propertyNameCollectionFactory, ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface $propertyMetadataFactory, ApiPlatform\Api\IriConverterInterface $iriConverter, ApiPlatform\Api\ResourceClassResolverInterface $resourceClassResolver, null|Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessor, null|Symfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverter, null|Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactory, array $defaultContext, null|ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface $resourceMetadataCollectionFactory, null|ApiPlatform\Symfony\Security\ResourceAccessCheckerInterface $resourceAccessChecker)
public supportsNormalization($data, null|string $format, array $context): bool
public normalize($object, null|string $format, array $context): ArrayObject|array|string|int|float|bool
public supportsDenormalization($data, string $type, null|string $format, array $context): bool
public denormalize($data, string $class, null|string $format, array $context)
protected getAttributes(object $object, null|string $format, array $context): array
protected setAttributeValue(object $object, string $attribute, $value, null|string $format, array $context): null
protected denormalizeRelation(string $attributeName, ApiPlatform\Metadata\ApiProperty $propertyMetadata, string $className, $value, null|string $format, array $context): object
protected normalizeRelation(ApiPlatform\Metadata\ApiProperty $propertyMetadata, null|object $relatedObject, string $resourceClass, null|string $format, array $context): ArrayObject|array|string
protected isAllowedAttribute(object|string $classOrObject, string $attribute, null|string $format, array $context): bool
public hasCacheableSupportsMethod(): bool
protected instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, null|string $format): object
protected getClassDiscriminatorResolvedClass(array $data, string $class, array $context): string
protected createConstructorArgument($parameterData, string $key, ReflectionParameter $constructorParameter, array $context, null|string $format)
protected extractAttributes($object, $format, array $context): array<int, string>
protected getAllowedAttributes(object|string $classOrObject, array $context, bool $attributesAsString): array|bool
protected canAccessAttribute(null|object $object, string $attribute, array $context): bool
protected canAccessAttributePostDenormalize(null|object $object, null|object $previousObject, string $attribute, array $context): bool
protected validateType(string $attribute, Symfony\Component\PropertyInfo\Type $type, $value, null|string $format, array $context): null
protected denormalizeCollection(string $attribute, ApiPlatform\Metadata\ApiProperty $propertyMetadata, Symfony\Component\PropertyInfo\Type $type, string $className, $value, null|string $format, array $context): array
protected getFactoryOptions(array $context): array
protected getAttributeValue(object $object, string $attribute, null|string $format, array $context)
protected normalizeCollectionOfRelations(ApiPlatform\Metadata\ApiProperty $propertyMetadata, iterable $attributeValue, string $resourceClass, null|string $format, array $context): array
protected denormalizeParameter(ReflectionClass $class, ReflectionParameter $parameter, string $parameterName, $parameterData, array $context, null|string $format)
protected createChildContext(array $parentContext, string $attribute, null|string $format): array
protected isCircularReference(object $object, array $context): bool
protected handleCircularReference(object $object, null|string $format, array $context)
protected getGroups(array $context): array
protected prepareForDenormalization($data): array
protected getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes): ReflectionMethod
protected validateCallbackContext(array $context, string $contextType): null
protected applyCallbacks($value, object|string $object, string $attribute, null|string $format, array $context)
protected getAttributeNormalizationContext(object $object, string $attribute, array $context): array
protected getAttributeDenormalizationContext(string $class, string $attribute, array $context): array
protected getAttributeMetadata(object|string $objectOrClass, string $attribute): Symfony\Component\Serializer\Mapping\AttributeMetadataInterface
protected extractObjectToPopulate(string $class, array $context, null|string $key): object
public setSerializer(Symfony\Component\Serializer\SerializerInterface $serializer)
protected getInputClass(array $context): string
protected getOutputClass(array $context): string
}class ApiPlatform\JsonApi\Serializer\ItemNormalizer extends ApiPlatform\Serializer\AbstractItemNormalizer implements Symfony\Component\Serializer\Normalizer\CacheableSupportsMethodInterface, Symfony\Component\Serializer\SerializerAwareInterface, Symfony\Component\Serializer\Normalizer\DenormalizerInterface, Symfony\Component\Serializer\Normalizer\NormalizerInterface
{
public __construct(ApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface $propertyNameCollectionFactory, ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface $propertyMetadataFactory, ApiPlatform\Api\IriConverterInterface $iriConverter, ApiPlatform\Api\ResourceClassResolverInterface $resourceClassResolver, null|Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessor, null|Symfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverter, null|Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactory, array $defaultContext, null|ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface $resourceMetadataCollectionFactory, null|ApiPlatform\Symfony\Security\ResourceAccessCheckerInterface $resourceAccessChecker)
public supportsNormalization($data, null|string $format, array $context): bool
public normalize($object, null|string $format, array $context): ArrayObject|array|string|int|float|bool
public supportsDenormalization($data, string $type, null|string $format, array $context): bool
public denormalize($data, string $class, null|string $format, array $context)
protected getAttributes(object $object, null|string $format, array $context): array
protected setAttributeValue(object $object, string $attribute, $value, null|string $format, array $context): null
protected denormalizeRelation(string $attributeName, ApiPlatform\Metadata\ApiProperty $propertyMetadata, string $className, $value, null|string $format, array $context): object
protected normalizeRelation(ApiPlatform\Metadata\ApiProperty $propertyMetadata, null|object $relatedObject, string $resourceClass, null|string $format, array $context): ArrayObject|array|string
protected isAllowedAttribute(object|string $classOrObject, string $attribute, null|string $format, array $context): bool
public hasCacheableSupportsMethod(): bool
protected instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, null|string $format): object
protected getClassDiscriminatorResolvedClass(array $data, string $class, array $context): string
protected createConstructorArgument($parameterData, string $key, ReflectionParameter $constructorParameter, array $context, null|string $format)
protected extractAttributes($object, $format, array $context): array<int, string>
protected getAllowedAttributes(object|string $classOrObject, array $context, bool $attributesAsString): array|bool
protected canAccessAttribute(null|object $object, string $attribute, array $context): bool
protected canAccessAttributePostDenormalize(null|object $object, null|object $previousObject, string $attribute, array $context): bool
protected validateType(string $attribute, Symfony\Component\PropertyInfo\Type $type, $value, null|string $format, array $context): null
protected denormalizeCollection(string $attribute, ApiPlatform\Metadata\ApiProperty $propertyMetadata, Symfony\Component\PropertyInfo\Type $type, string $className, $value, null|string $format, array $context): array
protected getFactoryOptions(array $context): array
protected getAttributeValue(object $object, string $attribute, null|string $format, array $context)
protected normalizeCollectionOfRelations(ApiPlatform\Metadata\ApiProperty $propertyMetadata, iterable $attributeValue, string $resourceClass, null|string $format, array $context): array
protected denormalizeParameter(ReflectionClass $class, ReflectionParameter $parameter, string $parameterName, $parameterData, array $context, null|string $format)
protected createChildContext(array $parentContext, string $attribute, null|string $format): array
protected isCircularReference(object $object, array $context): bool
protected handleCircularReference(object $object, null|string $format, array $context)
protected getGroups(array $context): array
protected prepareForDenormalization($data): array
protected getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes): ReflectionMethod
protected validateCallbackContext(array $context, string $contextType): null
protected applyCallbacks($value, object|string $object, string $attribute, null|string $format, array $context)
protected getAttributeNormalizationContext(object $object, string $attribute, array $context): array
protected getAttributeDenormalizationContext(string $class, string $attribute, array $context): array
protected getAttributeMetadata(object|string $objectOrClass, string $attribute): Symfony\Component\Serializer\Mapping\AttributeMetadataInterface
protected extractObjectToPopulate(string $class, array $context, null|string $key): object
public setSerializer(Symfony\Component\Serializer\SerializerInterface $serializer)
protected getInputClass(array $context): string
protected getOutputClass(array $context): string
}Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessorSymfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessorarray $localCachearray $localCachearray $localFactoryOptionsCachearray $localFactoryOptionsCacheApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface $propertyNameCollectionFactoryApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface $propertyNameCollectionFactoryApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface $propertyMetadataFactoryApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface $propertyMetadataFactoryApiPlatform\Api\IriConverterInterface $iriConverterApiPlatform\Api\IriConverterInterface $iriConverterApiPlatform\Api\ResourceClassResolverInterface $resourceClassResolverApiPlatform\Api\ResourceClassResolverInterface $resourceClassResolverApiPlatform\Symfony\Security\ResourceAccessCheckerInterface $resourceAccessCheckerApiPlatform\Symfony\Security\ResourceAccessCheckerInterface $resourceAccessCheckerSymfony\Component\Serializer\Mapping\ClassDiscriminatorResolverInterface $classDiscriminatorResolverSymfony\Component\Serializer\Mapping\ClassDiscriminatorResolverInterface $classDiscriminatorResolver$defaultContext$defaultContextSymfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactorySymfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactorySymfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverterSymfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverterSymfony\Component\Serializer\Normalizer\SerializerInterface $serializerSymfony\Component\Serializer\Normalizer\SerializerInterface $serializerApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface $resourceMetadataCollectionFactoryApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface $resourceMetadataCollectionFactorypublic __construct(ApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface $propertyNameCollectionFactory, ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface $propertyMetadataFactory, ApiPlatform\Api\IriConverterInterface $iriConverter, ApiPlatform\Api\ResourceClassResolverInterface $resourceClassResolver, null|Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessor, null|Symfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverter, null|Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactory, array $defaultContext, null|ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface $resourceMetadataCollectionFactory, null|ApiPlatform\Symfony\Security\ResourceAccessCheckerInterface $resourceAccessChecker)public __construct(ApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface $propertyNameCollectionFactory, ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface $propertyMetadataFactory, ApiPlatform\Api\IriConverterInterface $iriConverter, ApiPlatform\Api\ResourceClassResolverInterface $resourceClassResolver, null|Symfony\Component\PropertyAccess\PropertyAccessorInterface $propertyAccessor, null|Symfony\Component\Serializer\NameConverter\NameConverterInterface $nameConverter, null|Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface $classMetadataFactory, array $defaultContext, null|ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface $resourceMetadataCollectionFactory, null|ApiPlatform\Symfony\Security\ResourceAccessCheckerInterface $resourceAccessChecker)| propertyNameCollectionFactory | ApiPlatform\Metadata\Property\Factory\PropertyNameCollectionFactoryInterface | |
| propertyMetadataFactory | ApiPlatform\Metadata\Property\Factory\PropertyMetadataFactoryInterface | |
| iriConverter | ApiPlatform\Api\IriConverterInterface | |
| resourceClassResolver | ApiPlatform\Api\ResourceClassResolverInterface | |
| propertyAccessor | Symfony\Component\PropertyAccess\PropertyAccessorInterface | |
| nameConverter | Symfony\Component\Serializer\NameConverter\NameConverterInterface | |
| classMetadataFactory | Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface | |
| defaultContext | array | |
| resourceMetadataCollectionFactory | ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface | |
| resourceAccessChecker | ApiPlatform\Symfony\Security\ResourceAccessCheckerInterface |
Checks whether the given class is supported for normalization by this normalizer.Checks whether the given class is supported for normalization by this normalizer.
public supportsNormalization($data, null|string $format, array $context): boolpublic supportsNormalization($data, null|string $format, array $context): bool| data | ||
| format | string | |
| context | array |
bool
Normalizes an object into a set of arrays/scalars.Normalizes an object into a set of arrays/scalars.
public normalize($object, null|string $format, array $context): ArrayObject|array|string|int|float|boolpublic normalize($object, null|string $format, array $context): ArrayObject|array|string|int|float|bool| object | ||
| format | string | |
| context | array |
ArrayObject
array
string
int
float
bool
Checks whether the given class is supported for denormalization by this normalizer.Checks whether the given class is supported for denormalization by this normalizer.
public supportsDenormalization($data, string $type, null|string $format, array $context): boolpublic supportsDenormalization($data, string $type, null|string $format, array $context): bool| data | ||
| type | string | |
| format | string | |
| context | array |
bool
Denormalizes data back into an object of the given class.Denormalizes data back into an object of the given class.
public denormalize($data, string $class, null|string $format, array $context)public denormalize($data, string $class, null|string $format, array $context)| data | ||
| class | string | |
| format | string | |
| context | array |
Gets and caches attributes for the given object, format and context.
protected getAttributes(object $object, null|string $format, array $context): arrayprotected getAttributes(object $object, null|string $format, array $context): array| object | object | |
| format | string | |
| context | array |
array
Sets attribute value.
protected setAttributeValue(object $object, string $attribute, $value, null|string $format, array $context): nullprotected setAttributeValue(object $object, string $attribute, $value, null|string $format, array $context): null| object | object | |
| attribute | string | |
| value | ||
| format | string | |
| context | array |
null
Denormalizes a relation.
protected denormalizeRelation(string $attributeName, ApiPlatform\Metadata\ApiProperty $propertyMetadata, string $className, $value, null|string $format, array $context): objectprotected denormalizeRelation(string $attributeName, ApiPlatform\Metadata\ApiProperty $propertyMetadata, string $className, $value, null|string $format, array $context): object| attributeName | string | |
| propertyMetadata | ApiPlatform\Metadata\ApiProperty | |
| className | string | |
| value | ||
| format | string | |
| context | array |
object
Normalizes a relation.
protected normalizeRelation(ApiPlatform\Metadata\ApiProperty $propertyMetadata, null|object $relatedObject, string $resourceClass, null|string $format, array $context): ArrayObject|array|stringprotected normalizeRelation(ApiPlatform\Metadata\ApiProperty $propertyMetadata, null|object $relatedObject, string $resourceClass, null|string $format, array $context): ArrayObject|array|string| propertyMetadata | ApiPlatform\Metadata\ApiProperty | |
| relatedObject | object | |
| resourceClass | string | |
| format | string | |
| context | array |
ArrayObject
array
string
Is this attribute allowed?
protected isAllowedAttribute(object|string $classOrObject, string $attribute, null|string $format, array $context): boolprotected isAllowedAttribute(object|string $classOrObject, string $attribute, null|string $format, array $context): bool| classOrObject | object string | |
| attribute | string | |
| format | string | |
| context | array |
bool