enm/json-api-server-bundle
Symfony integration for enm/json-api-server that wires JSON:API handling into your project. Configure bundles, routing, and optional URL prefixes, register request handlers via service tags by resource type, and get built-in error handling for all standard JSON:API endpoints.
config/bundles.php, YAML config under enm_json_api_server, YAML routing imports and Symfony DI service tags. On Laravel it will not install or integrate. For a Laravel roadmap item this is at most a design reference, and the build-vs-buy math shifts almost entirely toward "build" or "pick a maintained Laravel-side JSON:API library."include semantics; write-heavy or high-cardinality flows gain little and inherit abstraction cost.Consider it when:
Look elsewhere when:
Evaluation checklist if you proceed on Symfony: audit composer.json PHP/Symfony constraints, the PSR-7 implementation the core requires, presence of symfony/psr-http-message-bridge, and the url_prefix / route_name_prefix coupling that complicates incremental migration. Also note the docs live on the org's GitHub Pages domain and disappear with it.
For executives. This is a small, MIT-licensed Symfony integration that delivers JSON:API-compliant endpoints — standardized responses, relationships, pagination and error objects — without us writing that plumbing. On a Symfony stack it can compress time-to-first-API and make partner integrations predictable, and it is free to license. The trade-offs are material: the project is archived, last released in September 2018, has roughly 10 stars and zero dependents, so there is no maintainer, no security patching and no support path. It is also Symfony-only — on our Laravel services it does not apply at all. My recommendation: treat it as a reference implementation and evaluation candidate, not an adopted platform component. Approve a short timeboxed spike, not a dependency.
For engineering. First confirm the stack — if the target is Laravel, this is out of scope except as a design reference, and we should evaluate a Laravel-native package or a thin serializer. If Symfony, plan explicitly for forking to an internal VCS repo (never Packagist in production), pinning the known-good PHP/Symfony matrix, standing up current CI, and writing an ADR. Then run a 2–3 day spike: one resource end-to-end — routing, tagged request handler, relationships, error handling — to measure the code we would otherwise write. The highest-value engineering step is putting the JSON:API layer behind an internal interface (e.g. ApiDocumentBuilder) so the vendor code becomes swappable; that converts a hard dependency into a replaceable one and enables a strangler migration to a maintained implementation such as API Platform, one resource type at a time. Define exit criteria up front.
Decision summary. Low opportunity-to-risk for direct adoption; moderate value as a scoped spike or as an input to the API contract decision. Approve a timeboxed evaluation with a named fork owner — not a production dependency.
How can I help you explore Laravel packages today?