首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >API平台-始终对自定义操作应用筛选器

API平台-始终对自定义操作应用筛选器
EN

Stack Overflow用户
提问于 2018-10-31 03:53:06
回答 2查看 1.2K关注 0票数 1

我在我的实体(/api/posts/active)上有一个自定义的集合操作,并且我希望总是对它应用一些过滤条件:

  1. 仅获取active =true的;
  2. 仅获取onlineUntil > now();

如何仅针对此特定的collectionOperation执行此操作,而不是针对所有all?

另外,我如何在默认情况下实现这些过滤器,而不依赖于像/posts/:id/active?active=true这样的查询字符串。

我读过关于过滤的文档,但我真的很困惑,因为他们从来没有提到只过滤一个特定的操作或默认情况下应用过滤器,而不是查询字符串。

EN

回答 2

Stack Overflow用户

发布于 2018-10-31 04:48:28

我认为这里不需要过滤器。您可以通过自定义操作(请参阅文档中的custom operation section )和switch off receiving来实现您的目标。然后,在__invoke方法内部从PostRepository获取带有qustom查询的活动帖子的集合,可以通过在自定义操作构造函数中注入来检索这些帖子:

代码语言:javascript
复制
public function __construct(EntityManagerInterface $em)
{
    $this->em = $em;
}
票数 1
EN

Stack Overflow用户

发布于 2018-10-31 06:41:25

这是自定义扩展(https://api-platform.com/docs/core/extensions)的典型用例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53071939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档