api-platform-dto-resou…
Map entities to API DTOs in API Platform (v5, 4.4, 4.3) with the Symfony Object Mapper (#[Map], stateOptions) for decoupled…
Implement API Platform filters - Parameters API (QueryParameter, v5/4.4/4.3) and the #[ApiFilter] attribute deprecated since 4.4 - for search, date, range, boolean, and custom filtering
Claude Code
$ npx -y skills add dev-toolings/superpowers-symfony --skill api-platform-filters --agent claude-code
Codex
$ npx skills add dev-toolings/superpowers-symfony --skill api-platform-filters -a codex -y
Cursor
$ npx skills add dev-toolings/superpowers-symfony --skill api-platform-filters -a cursor -y
Gemini CLI
$ npx skills add dev-toolings/superpowers-symfony --skill api-platform-filters -a gemini-cli -y
GitHub Copilot
$ npx skills add dev-toolings/superpowers-symfony --skill api-platform-filters -a github-copilot -y
OpenCode
$ npx skills add dev-toolings/superpowers-symfony --skill api-platform-filters -a opencode -y
Windsurf
$ npx skills add dev-toolings/superpowers-symfony --skill api-platform-filters -a windsurf -y
name: api-platform-filters description: "Implement API Platform filters - Parameters API (QueryParameter, v5/4.4/4.3) and the #[ApiFilter] attribute deprecated since 4.4 - for search, date, range, boolean, and custom filtering" capabilities: [read, search, edit, shell] tags: [api-platform] # projected by `bun run build` — do not edit by hand allowed-tools: - Read - Glob - Grep - Write - Edit - Bash
1. Declare `parameters` with `QueryParameter` on the operation; keep `#[ApiFilter]` only in 3.4 code or code not yet migrated. 2. 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+). 3. For a custom filter, implement `FilterInterface` and read the bound value from `$context['parameter']` (`AbstractFilter` and `filterProperty()` are deprecated since 4.4: keep them for 4.3 and 3.4 code). 4. Turn on `strictQueryParameterValidation` so unknown query parameters return 400. 5. Add `#[ORM\Index]` on filtered columns, then request the endpoint with matching and non-matching values.
Superpowers Symfony gives coding agents deep, version-accurate Symfony expertise: from Doctrine schema design and API Platform REST/GraphQL APIs to test-driven development, async Messenger workflows, caching, rate limiting, and clean architecture.
Map entities to API DTOs in API Platform (v5, 4.4, 4.3) with the Symfony Object Mapper (#[Map], stateOptions) for decoupled…
Configure API Platform resources (v5, 4.4, 4.3) with explicit operations, pagination, and typed OpenAPI for clean, versioned…
Secure API Platform resources with security expressions, voters, securityPostValidation, and operation-level access control
Control API Platform serialization with groups, #[Context], IRI links (readableLink/writableLink), and custom context builders
Master API Platform State Providers and Processors (v5, 4.4, 4.3) (ProviderInterface/ProcessorInterface) to decouple data…
Test API Platform resources with ApiTestCase; assert collections, items, filters, JSON schema, and authentication
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.