Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Json Api Server Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on API serialization plumbing. The core PM question is whether to spend sprint capacity hand-rolling resource serialization, relationship inclusion, sparse fieldsets, pagination and JSON:API error objects — or delegate that to a library. This package is the "buy" option for the serialization and routing layer, on Symfony only.
  • API contract standardization for external consumers. If the roadmap includes a documented, spec-compliant public or partner API, JSON:API gives a published response envelope, relationship linkage and error format out of the box. That reduces client-side integration work, contract negotiation per endpoint, and bespoke documentation.
  • Framework gate — decisive for a Laravel roadmap. Despite being tagged as a Laravel/PHP package, this is a Symfony bundle, not a Laravel package. It assumes bundle registration in 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."
  • Roadmap scoping: which surfaces get the contract. Read-heavy endpoints with rich relationships (admin/back-office, B2B integrations) benefit most from include semantics; write-heavy or high-cardinality flows gain little and inherit abstraction cost.
  • Consolidation reference. If we are merging several hand-rolled endpoints into one convention, the routing table and request-handler-per-resource-type model are a useful template even if we never adopt the code.
  • Risk/portfolio decision. With 10 stars, zero dependents, archived status and a last release of September 2018, this is a candidate for a timeboxed evaluation, not a platform commitment.

When to Consider This Package

Consider it when:

  • The target service is genuinely Symfony and staying there — not Laravel. This is the hard gate; everything else is secondary.
  • JSON:API 1.0 compliance is a stated, contractual requirement, not a stylistic preference.
  • You are prepared to fork and own it: vendor the repo internally, replace the dead Travis CI with current CI, and carry PHP/Symfony compatibility patches yourself with no upstream to fall back on.
  • The surface is internal or non-critical, where a broken upgrade is recoverable rather than a customer-facing incident.
  • You want a reference implementation to study before building a thin internal serializer.

Look elsewhere when:

  • You are on Laravel. The bundle's entire value is Symfony glue (DI container, routing, request-handler tags, route-name-prefix-aware exception handling). Porting it is a build project, not an integration. Evaluate a maintained Laravel-side JSON:API package or a custom serializer instead.
  • You need vendor support, an SLA, security patching or a release cadence. Archival status is disqualifying for revenue-bearing APIs — there is no CVE response path and you inherit the full transitive dependency tree unpatchable upstream.
  • You target modern PHP 8.x / Symfony 6–7. This is a Symfony 3.4/4.x-era artifact; expect deprecation, return-type and container-API breakage requiring funded upgrade work.
  • JSON:API 1.1 (2022) semantics matter — this implements 1.0-era behaviour while client tooling increasingly assumes 1.1.
  • The API surface is small CRUD: plain framework resources plus a documented error format is cheaper to own than a spec framework and its abstractions.
  • You need GraphQL, gRPC or plain REST — compound documents are a poor fit.

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.

How to Pitch It (Stakeholders)

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums