Symfony:Api平台和级联DTo

时间:2020-10-30 12:17:55

标签: api symfony dto

我有一个使用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端点...

谢谢您的帮助!

0 个答案:

没有答案