@@ -119,7 +119,7 @@ public function normalize($object, $format = null, array $context = [])
119
119
throw new LogicException ('Cannot normalize the output because the injected serializer is not a normalizer ' );
120
120
}
121
121
122
- if ($ object !== $ transformed = $ this ->transformOutput ($ object , $ outputClass , $ context )) {
122
+ if ($ object !== $ transformed = $ this ->transformOutput ($ object , $ context , $ outputClass )) {
123
123
$ context ['api_normalize ' ] = true ;
124
124
$ context ['api_resource ' ] = $ object ;
125
125
unset($ context ['output ' ], $ context ['resource_class ' ]);
@@ -645,8 +645,12 @@ protected function getDataTransformer($data, string $to, array $context = []): ?
645
645
* For a given resource, it returns an output representation if any
646
646
* If not, the resource is returned.
647
647
*/
648
- protected function transformOutput ($ object , string $ outputClass , array $ context = [])
648
+ protected function transformOutput ($ object , array $ context = [], string $ outputClass = null )
649
649
{
650
+ if (null === $ outputClass ) {
651
+ $ outputClass = $ this ->getOutputClass ($ this ->getObjectClass ($ object ), $ context );
652
+ }
653
+
650
654
if (null !== $ outputClass && null !== $ dataTransformer = $ this ->getDataTransformer ($ object , $ outputClass , $ context )) {
651
655
return $ dataTransformer ->transform ($ object , $ outputClass , $ context );
652
656
}
0 commit comments