/**
* {@inheritdoc}
*/
public function normalize($object, $format = null, array $context = [])
{
$violations = [];
$messages = [];
foreach ($object as $violation) {
$violations[] = ['propertyPath' => $violation->getPropertyPath(), 'message' => $violation->getMessage()];
$propertyPath = $violation->getPropertyPath();
$prefix = $propertyPath ? sprintf('%s: ', $propertyPath) : '';
$messages[] = $prefix . $violation->getMessage();
}
return ['@context' => $this->urlGenerator->generate('api_jsonld_context', ['shortName' => 'ConstraintViolationList']), '@type' => 'ConstraintViolationList', 'hydra:title' => $context['title'] ?? 'An error occurred', 'hydra:description' => $messages ? implode("\n", $messages) : (string) $object, 'violations' => $violations];
}