Skip to content

Commit 265fb94

Browse files
[Serializer] Make ProblemNormalizer give details about ValidationFailedException and PartialDenormalizationException
1 parent 8bad212 commit 265fb94

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,9 @@
233233
use Symfony\Component\Serializer\Mapping\Loader\YamlFileLoader;
234234
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
235235
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
236+
use Symfony\Component\Serializer\Normalizer\ProblemNormalizer;
236237
use Symfony\Component\Serializer\Normalizer\UnwrappingDenormalizer;
238+
use Symfony\Component\Serializer\SerializerAwareInterface;
237239
use Symfony\Component\Stopwatch\Stopwatch;
238240
use Symfony\Component\String\LazyString;
239241
use Symfony\Component\String\Slugger\SluggerInterface;
@@ -1830,6 +1832,12 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
18301832
$container->removeDefinition('serializer.normalizer.mime_message');
18311833
}
18321834

1835+
// compat with Symfony < 6.3
1836+
if (!is_subclass_of(ProblemNormalizer::class, SerializerAwareInterface::class)) {
1837+
$container->getDefinition('serializer.normalizer.problem')
1838+
->setArguments(['%kernel.debug%']);
1839+
}
1840+
18331841
$serializerLoaders = [];
18341842
if (isset($config['enable_annotations']) && $config['enable_annotations']) {
18351843
if ($container->getParameter('kernel.debug')) {

Resources/config/serializer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
->tag('serializer.normalizer', ['priority' => -950])
104104

105105
->set('serializer.normalizer.problem', ProblemNormalizer::class)
106-
->args([param('kernel.debug')])
106+
->args([param('kernel.debug'), '$translator' => service('translator')->nullOnInvalid()])
107107
->tag('serializer.normalizer', ['priority' => -890])
108108

109109
->set('serializer.denormalizer.unwrapping', UnwrappingDenormalizer::class)

0 commit comments

Comments
 (0)