xze*_*nce 2 api api-platform.com symfony4
我将 API Platform 与 Symfony 4 一起使用,并尝试使用日期过滤器,如下所述: https: //api-platform.com/docs/core/filters/
当我使用这样的过滤器时....something?_page=1&lieferdat[after]=2018-12-01&lieferdat[before]=2018-12-30
Hydra 响应显示括号是 url 编码的,我认为它无法正常工作,因为我得到的是所有结果而不是过滤后的结果。在我的实体中,我添加了 DateFilter 作为任何其他过滤器,这似乎是正确的。
Hydra 响应:“某事?lieferdat%5Bafter%5D=2018-12-01&lieferdat%5Bbefore%5D=2018-12-30&_page=1”
任何人都可以解释一下我是否可以在请求中使用括号或更好:任何人都可以为 Api 平台提供一个有效的日期过滤器实现,演示如何在两个日期之间进行过滤吗?
感谢您的建议,最诚挚的问候
好吧,我正在回答我自己的问题.. 我的问题的答案:这些 url 编码的括号是否被 symfony api 平台识别?答案是:是的
在对 Postman 进行了一些尝试和错误之后,我成功了。
当我命令我的查询反转时:
反而
something?lieferdat[after]=2019-03-01&lieferdat[before]=2019-03-31
Run Code Online (Sandbox Code Playgroud)
我把它颠倒过来了
something?lieferdat[before]=2019-03-31&lieferdat[after]=2019-03-01
Run Code Online (Sandbox Code Playgroud)
这有效!
唯一的问题是,有时如果我指定一个月,我有时会得到前一个月的 1-2 个值,这不是我想要的并且让我感到困惑。我尝试使用
?lieferdat[strictly_before]=2019-03-31&lieferdat[strictly_after]=2019-03-01
Run Code Online (Sandbox Code Playgroud)
但这并没有带来效果。
Edit2:好吧,答案很简单,在我的实体中,我定义了搜索过滤器,但我没有定义此过滤器起作用的属性,因此它适用于该实体中的所有日期属性
仍然感谢任何帮助:)
归档时间: |
|
查看次数: |
9945 次 |
最近记录: |