Следуя документации Как использовать DTO для записи , я получаю ошибку проверки 500:
{
"@context": "/api/contexts/Error",
"@type": "hydra:Error",
"hydra:title": "An error occurred",
"hydra:description": "Cannot validate values of type \"NULL\" automatically. Please provide a constraint.",
...
DTO совпадает с задокументированным (обратите внимание на определенное пространство имен):
namespace Acme\Infrastructure\Dto;
use ApiPlatform\Core\Annotation\ApiResource;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ApiResource(
* collectionOperations={
* "post"={
* "path"="/do-something",
* },
* },
* itemOperations={},
* )
*/
final class DoSomethingRequest
{
/**
* @Assert\NotBlank
* @Assert\Email
*/
public $email;
}
Вот конфигурация:
# api_platform.yaml
api_platform:
mapping:
paths:
- '%kernel.project_dir%/src/Infrastructure/Dto'