Передайте стратегию поиска, чтобы отфильтровать от остальных URI - PullRequest
0 голосов
/ 12 февраля 2019

Впервые используя api-платформу и Symfony 4 для создания интерфейса API для базы данных MySQL.

Я обновляю старый интерфейс поиска для БД, для которого мне нужно реплицировать многие параметры поиска.Это включает в себя возможность поиска по заданному полю с использованием различных подходящих операторов / стратегий.например, начинается с, содержит ровно равно и т. д.

Я настроил все для API с помощью аннотаций.

@ApiFilter (SearchFilter :: class, properties = {"fieldname":«стратегия»} аннотации в моем классе таблиц работает как задумано, но я ограничен единственной стратегией для каждого поля. Мне нужно иметь возможность передавать стратегию в функцию поиска API в URL.

/api/staff?lastname[start]=dav

или

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

или

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

будет в порядке.

Я не могу понять, как это настроить. Шокирующим, во всяком случае, для меня это общее требование, похоже, вообще не задокументировано.

1 Ответ

0 голосов
/ 19 июля 2019

Файл CustomSearchFilter.php, расположенный в репозитории https://github.com/jordonedavidson/custom_search_filter, решает этот сценарий использования с использованием синтаксиса

/api/staff?lastname[start]=dav

.

Файлбыл написан Кевином Дангласом (автором платформы Api) и представлен с его благословением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...