Closed
Description
- Api Platform Core version: 3.2.19
- Symfony packages version: 6.4.6
After packages upgrade (Symfony and Api PLatform) all Enums resource serialization broke leading in
Expected normalized relation to be an IRI, array, \\ArrayObject or null
error for relations with Enum normalization.
I don't know if it's related to Api Platform or Symfony?
Maybe related to #6264
Resource
#[
ApiResource(normalizationContext: ['groups' => ['get']]),
GetCollection(provider: Availability::class . '::getCases'),
Get(provider: Availability::class . '::getCase')
]
enum Availability: int
{
case AVAILABLE = 0;
case LAST_SEATS = 10;
case NO_VACANCY = 20;
case CANCELLED = 30;
case POSTPONED = 40;
case PROGRAMMING_IN_PROGRESS = 50;
case PARTNER_SHOP_ONLY = 60;
public static function values(): array
{
return array_map(
fn (Availability $feature) => $feature->value,
self::cases()
);
}
public function getId(): string
{
return $this->name;
}
#[
Groups(['get'])
]
public function getValue(): int
{
return $this->value;
}
public static function getCases(): array
{
return self::cases();
}
public static function getCase(Operation $operation, array $uriVariables): ?self
{
return self::tryFrom((int) $uriVariables['id']);
}
}
Symptoms:
Enum operations do not output Enum normalized objects anymore, but their raw value.
- Upgrading php-http/discovery (1.19.2 => 1.19.4): Extracting archive
- Upgrading symfony/translation-contracts (v3.4.1 => v3.4.2): Extracting archive
- Upgrading symfony/serializer (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/property-info (v6.4.3 => v6.4.6): Extracting archive
- Upgrading symfony/property-access (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/event-dispatcher-contracts (v2.5.2 => v2.5.3): Extracting archive
- Upgrading symfony/var-dumper (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/error-handler (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/http-kernel (v6.4.5 => v6.4.6): Extracting archive
- Upgrading api-platform/core (v3.2.18 => v3.2.19): Extracting archive
- Upgrading symfony/service-contracts (v3.4.1 => v3.4.2): Extracting archive
- Upgrading symfony/console (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/routing (v6.4.5 => v6.4.6): Extracting archive
- Upgrading symfony/filesystem (v6.4.3 => v6.4.6): Extracting archive
- Upgrading symfony/var-exporter (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/dependency-injection (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/config (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/cache-contracts (v3.4.0 => v3.4.2): Extracting archive
- Upgrading symfony/cache (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/framework-bundle (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/doctrine-bridge (v6.4.5 => v6.4.6): Extracting archive
- Upgrading symfony/security-bundle (v6.4.5 => v6.4.6): Extracting archive
- Upgrading phpstan/phpstan (1.10.65 => 1.10.66): Extracting archive
- Upgrading symfony/mime (v6.4.3 => v6.4.6): Extracting archive
- Upgrading symfony/validator (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/form (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/twig-bridge (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/proxy-manager-bridge (v6.4.3 => v6.4.6): Extracting archive
- Upgrading symfony/messenger (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/mailer (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/lock (v6.4.3 => v6.4.6): Extracting archive
- Upgrading symfony/http-client-contracts (v3.4.0 => v3.4.2): Extracting archive
- Upgrading symfony/http-client (v6.4.5 => v6.4.6): Extracting archive
- Upgrading symfony/psr-http-message-bridge (v6.4.3 => v6.4.6): Extracting archive
- Upgrading squizlabs/php_codesniffer (3.9.0 => 3.9.1): Extracting archive
- Upgrading symfony/doctrine-messenger (v6.4.4 => v6.4.6): Extracting archive
- Upgrading symfony/phpunit-bridge (v6.4.4 => v6.4.6): Extracting archive
Metadata
Metadata
Assignees
Labels
No labels