Skip to content

Commit 42a2d7f

Browse files
authored
fix(symfony): register DateTimeValueObjectTransformer for JsonStreamer (#7839)
1 parent da62324 commit 42a2d7f

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

  • src/Symfony/Bundle/Resources/config/json_streamer

src/Symfony/Bundle/Resources/config/json_streamer/common.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
use Symfony\Component\JsonStreamer\JsonStreamReader;
2222
use Symfony\Component\JsonStreamer\JsonStreamWriter;
2323
use Symfony\Component\JsonStreamer\StreamerDumper;
24+
use Symfony\Component\JsonStreamer\Transformer\DateTimeValueObjectTransformer;
2425

2526
return static function (ContainerConfigurator $container) {
2627
$services = $container->services();
@@ -75,4 +76,11 @@
7576
$services->set('api_platform.jsonld.json_streamer.write.value_transformer.context', ContextValueTransformer::class)
7677
->args([service('api_platform.router')])
7778
->tag('json_streamer.value_transformer');
79+
80+
// Register DateTimeValueObjectTransformer for Symfony 8.1+ where DateTimeTypePropertyMetadataLoader is a no-op.
81+
// Service ID must be DateTimeInterface so that tagged_locator keys match what getValueObjectTransformerId() looks up.
82+
if (class_exists(DateTimeValueObjectTransformer::class)) {
83+
$services->set(\DateTimeInterface::class, DateTimeValueObjectTransformer::class)
84+
->tag('json_streamer.value_transformer');
85+
}
7886
};

0 commit comments

Comments
 (0)