我有一个使用DTO的Api平台项目。 我有Foo实体,它是API资源:
foo/internal/*
和DTO:
/**
* @ApiResource(
* input=FooInput::class,
* attributes={
* ...
* }
* )
* @ORM\Entity(repositoryClass="App\Repository\FooClasseRepository")
*/
class Foo
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=50)
*/
private $label;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Bar", mappedBy="bar", orphanRemoval=true, cascade="all")
*/
private $bars;
}
如您所见,还有一个Bar实体,该实体可能无法通过API访问(没有/ api / bars端点),并且与Foo实体具有OneToMany关系。
我想为律师实体使用专用的DTO。 然后,我创建了/App/Dto/BarInput.php,但是我不知道在哪里/如何定义“ input = BarInput :: class”
如果我在Bar中添加@ApiRessource,这将创建我不想要的Bar端点...
谢谢您的帮助!