/** * Set the serialization naming strategy * * @throws ServiceUnavailableHttpException * * @param Application $app * @param SerializerBuilder $serializerBuilder */ protected function namingStrategy(Application $app, SerializerBuilder $serializerBuilder) { if ($app['serializer.namingStrategy'] instanceof PropertyNamingStrategyInterface) { $namingStrategy = $app['serializer.namingStrategy']; } else { switch ($app['serializer.namingStrategy']) { case 'IdenticalProperty': $namingStrategy = new IdenticalPropertyNamingStrategy(); break; case 'CamelCase': $namingStrategy = new CamelCaseNamingStrategy($app['serializer.namingStrategy.separator'], $app['serializer.namingStrategy.lowerCase']); break; default: throw new ServiceUnavailableHttpException(null, 'Unknown property naming strategy \'' . $app['serializer.namingStrategy'] . '\'. ' . 'Allowed values are \'IdenticalProperty\' or \'CamelCase\''); } $namingStrategy = new SerializedNameAnnotationStrategy($namingStrategy); } $serializerBuilder->setPropertyNamingStrategy($namingStrategy); }
/** * Set the serialization naming strategy * * @param Application $app * @param SerializerBuilder $serializerBuilder * * @throws ServiceUnavailableHttpException */ protected function namingStrategy(Application $app, SerializerBuilder $serializerBuilder) { if ($app["serializer.namingStrategy"] instanceof PropertyNamingStrategyInterface) { $namingStrategy = $app["serializer.namingStrategy"]; } else { switch ($app["serializer.namingStrategy"]) { case "IdenticalProperty": $namingStrategy = new IdenticalPropertyNamingStrategy(); break; case "CamelCase": $namingStrategy = new CamelCaseNamingStrategy($app["serializer.namingStrategy.separator"], $app["serializer.namingStrategy.lowerCase"]); break; default: throw new ServiceUnavailableHttpException(null, "Unknown property naming strategy '{$app["serializer.namingStrategy"]}'. " . "Allowed values are 'IdenticalProperty' or 'CamelCase'"); } $namingStrategy = new SerializedNameAnnotationStrategy($namingStrategy); } $serializerBuilder->setPropertyNamingStrategy($namingStrategy); }