为什么Symfony API平台会忽略过滤器?

时间:2020-07-26 18:46:04

标签: php symfony swagger api-platform.com

我正在研究Symfony 5 + API平台项目。我仍然在使用API​​过滤器。在通过某些控制器设置伪造的API路由之前,我已经完成了这项工作。但是,由于有一个现成的API平台功能可以实现这一点,所以我想“使”这项工作生效。

首先,实体过滤器将被忽略,API平台对此已意识到。根据 Symfony Profiler > API平台> 资源元数据

并根据同一页面中的数据提供者标签:

到目前为止,我尝试将@ApiFilter()注释添加到API documentation之类的Question实体中来解释:

// ...
use Symfony\Component\Serializer\Annotation\Groups;

/**
 * @ORM\Entity(repositoryClass=QuestionRepository::class)
 * @ApiResource(normalizationContext={"groups"={"question"}})
 * @ApiFilter(SearchFilter::class, properties={"status": "partial"})
 */
class Question
{
    // ...

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups("question")
     */
    private $status;
    
    // ...
}

我还尝试在要过滤的所需属性上指定过滤器。 (感谢上一个问题的 @EugeneRuban )。

那么,为什么API平台会忽略过滤器?

编辑:这是日志显示的内容:

0 个答案:

没有答案