【问题标题】:Pass search strategy to filter from rest URI通过搜索策略从其余 URI 中过滤
【发布时间】:2019-02-12 14:55:16
【问题描述】:

第一次使用 api-platform 和 Symfony 4 为 MySQL 数据库创建 API 接口。

我正在更新数据库的旧搜索界面,我需要为其复制许多搜索选项。这包括能够使用各种匹配运算符/策略在给定字段上进行搜索。例如开头,包含完全等于等。

我已经使用注释为 api 设置了所有内容。

我的表类上的 @ApiFilter(SearchFilter::class, properties={"fieldname": "strategy"} 注释按设计工作,但我仅限于每个字段只有一个策略。我需要能够将策略传递给 url 中的 api 搜索功能。类似于:

/api/staff?lastname[start]=dav

/api/staff?lastname=david&match=contains

/api/staff/lastname/son?searchtype=end

会好的。

我不知道如何设置。令人震惊的是,无论如何,对我来说,这个常见的要求似乎根本没有记录。

【问题讨论】:

    标签: symfony doctrine api-platform.com


    【解决方案1】:

    位于 repo https://github.com/jordonedavidson/custom_search_filter 的文件 CustomSearchFilter.php 使用

    解决了这个用例

    /api/staff?lastname[start]=dav

    语法。

    该文件由 Kévin Dunglas(Api Platform 的作者)编写,并得到了他的祝福。

    【讨论】:

    • 谢谢你和凯文·邓格拉斯
    猜你喜欢
    • 1970-01-01
    • 2015-11-18
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多