Я создаю REST API на Symfony4, поэтому я хотел бы сериализовать мою сущность с помощью сериализатора по умолчанию Symfony4.
Но у моих сущностей есть необычные имена атрибутов, которые делают сериализатор плохим результатом.
Я пытался реализовать NameConverterInterface
, а также пытался CamelCaseToSnakeCaseNameConverter
без хорошего результата ...
Каждый объект в моем приложении имеет такой тип атрибута, поэтому решение с @annotation не может мне помочь
class Product implements EntityInterface
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer", name="PROD_PKEY")
*/
private $PROD_PKEY;
/**
* @ORM\Column(type="string", length=50)
*/
private $PROD_Name;
/**
* @ORM\Column(type="string", length=50)
*/
private $PROD_Code;
А как я использую сериализатор:
$product = new Product();
$product->setPRODName("Name");
$product->setPRODCode("Code");
$json = $this->serializer->serialize($product, 'json');
Содержимое $ json:
{
"pRODName": "Name",
"pRODCode": "Code",
}
но я ожидаю что-то вроде этого:
{
"PROD_Name": "Name",
"PROD_Code": "Code",
}
Просто равняется моим именам атрибутов в моей сущности, я не понимаю, почему первая буква становится строчной, а моя буква подчеркивается ...
Спасибо за вашу помощь!