Примеры для этой простой сущности:
Код: Выделить всё
class Foo
{
/**
* @var string
*
* @ORM\Column(type="string")
* @Assert\NotBlank()
*/
public $name;
/**
* @var string
*
* @ORM\Column(type="text", nullable=true)
*/
public $content;
}
Код: Выделить всё
POSTКод: Выделить всё
{
"name": "",
"content": ""
}
Код: Выделить всё
{
"@context": "/api/contexts/ConstraintViolationList",
...
"violations": [
{
"propertyPath": "name",
"message": "This value should not be blank."
}
]
}
Код: Выделить всё
POSTКод: Выделить всё
{
"name": "test",
"content": ""
}
Поэтому я понимаю, что платформа Api не умеет преобразовывать пустые данные (
Код: Выделить всё
""Поэтому я пробую Пример 1 еще раз, но с NULL данные, чтобы убедиться, что утверждения по-прежнему работают.
Код: Выделить всё
{
"name": null,
"content": null
}
Код: Выделить всё
{
"@context": "/api/contexts/Error",
...
"hydra:description": "The type of the "name" attribute must be "string", "NULL" given.",
}
Код: Выделить всё
ConstraintViolationListЭто было бы обидно и очень-очень утомительно приходится управлять отправкой данных по-разному в зависимости от того, являются ли они обязательными или нет (иногда отправляйте "", а иногда NULL).
Подробнее здесь: https://stackoverflow.com/questions/655 ... i-platform
Мобильная версия