api-platform-filters
Installation
SKILL.md
Api Platform Filters (Symfony)
Use when
- A collection endpoint needs search, exact match, range, date, boolean, or sort query parameters.
- One query parameter must search across several properties.
- A filter needs custom query logic that the built-in filters do not cover.
- Migrating
#[ApiFilter]declarations (deprecated since 4.4) to the Parameters API, by hand or withapi:upgrade-filter.
Default workflow
- Declare
parameterswithQueryParameteron the operation; keep#[ApiFilter]only in 3.4 code or code not yet migrated. - Choose a filter class per parameter, checking the installed version:
ExactFilter,PartialSearchFilter,FreeTextQueryFilter,OrFilter,IriFilter(4.2+),ComparisonFilter,SortFilter(4.3+),StartSearchFilter,EndSearchFilter,ChainFilter(4.4+). - For a custom filter, implement
FilterInterfaceand read the bound value from$context['parameter'](AbstractFilterandfilterProperty()are deprecated since 4.4: keep them for 4.3 and 3.4 code). - Turn on
strictQueryParameterValidationso unknown query parameters return 400. - Add
#[ORM\Index]on filtered columns, then request the endpoint with matching and non-matching values.