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 Laravel Package

enm/json-api-server

Abstract server-side PHP implementation of the JSON:API specification, built on enm/json-api-common. Provides endpoints, request handling, and exception handling for building JSON:API-compliant APIs in Laravel or any PHP application.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • API contract standardization (build vs. buy): This package is the "buy" half of a JSON:API layer — it gives you spec-conformant document structure, endpoint abstractions, request handling, and error/exception serialization rather than a full framework. The decision it informs is whether to implement JSON:API by hand (~weeks of spec-reading, edge cases around sparse fieldsets, includes, sorting, pagination, error objects) or start from an existing abstraction.
  • Roadmap: front-end/back-end decoupling. Adopting JSON:API lets mobile, web, and partner clients consume one predictable contract. This package is a candidate accelerator if you need that contract soon and can absorb maintenance.
  • Feature-level use cases it directly enables: resource endpoints with relationship handling, request parsing (query params to a normalized request object), and exception-to-error-document mapping — the three things teams most often get wrong when hand-rolling JSON:API.
  • Architecture reference, not just a dependency. Because it is abstract and archived, its highest-leverage use may be as a design reference: read its endpoint/request-handler/exception model, then decide whether to port the pattern into your own Laravel layer. That is a genuine "build lightly, informed by prior art" decision.
  • Technical-debt and risk decisions: archived in 2018, 12 stars, zero dependents. This informs the support-and-deprecation line item on the roadmap, not just the feature line item. Any adoption implies a fork-and-own plan.
  • Prioritization input: if a JSON:API surface is on the roadmap but not strategic, this lowers cost-to-ship; if the API is a product differentiator with a public/partner audience, the lack of maintenance pushes the decision toward a maintained alternative or an internal build.

When to Consider This Package

Consider it when:

  • You are on a legacy PHP stack already using the enm/json-api-* suite (json-api-common, document/client packages) and need server-side endpoints consistent with what you have.
  • You need spec-shaped output quickly for an internal API with a small, known set of consumers you can coordinate with.
  • You want a reference implementation to study or vendor/fork before writing your own JSON:API layer — the docs (endpoints, request handler, exception handling) are the real asset.
  • Your team accepts owning the code: forking, pinning, and applying your own patches is acceptable and budgeted.
  • Your PHP version and dependency graph are compatible with a 2018-era package — verify before committing.

Look elsewhere (or build) when:

  • You are greenfield on Laravel and expect Eloquent integration, policies, route-model binding, resources, and middleware. This package is framework-agnostic and abstract; you will write all the Laravel glue yourself, which erodes most of the "buy" savings.
  • You need active maintenance, security patching, or PHP 8+ guarantees. Archived status and zero dependents mean no community safety net and no upstream fixes.
  • The API is public or partner-facing with contractual uptime/SLA expectations — an unmaintained dependency becomes a support liability.
  • You need capabilities outside JSON:API's core value proposition (OpenAPI-first contracts, GraphQL, gRPC, or heavy caching/rate-limiting concerns that belong in your own middleware).
  • Your team is unfamiliar with JSON:API; the abstraction saves keystrokes but not the conceptual learning curve, and debugging an abandoned abstraction is slower than debugging your own code.

How to Pitch It (Stakeholders)

For executives (one paragraph): We can adopt a standards-based API format (JSON:API) without designing it from scratch, which shortens time-to-market for new client apps and reduces the cost of every future front-end change. However, the specific open-source library is a 2018-era, archived component with no active community. My recommendation is to use it as a reference architecture and, at most, a short-term fork we explicitly own — not as a long-lived dependency. The business value here is the standard and the contract, not the library; the standard is worth adopting, and the library is a cheap way to get there faster with a known maintenance cost attached.

For engineering (summary):

  • It is an abstract implementation: you get document structure, endpoint abstractions, request parsing, and exception→error-document mapping. You supply the domain, persistence, and all Laravel integration.
  • It is framework-agnostic, so expect to write routes, controllers, authorization, and serialization glue yourself; the win is avoiding hand-rolling the JSON:API spec details.
  • Risk is real: archived, last release 2018, no dependents, no upstream fixes. Treat any adoption as a fork: pin the version, vendor it, document the patch process, and schedule a review point (e.g., 2–3 sprints after launch) to decide keep-fork / replace / absorb.
  • Ask: timebox a spike (1–2 days) to validate PHP/dependency compatibility and measure the glue code required. That spike output is the go/no-go, and it also produces the build estimate if we choose to internalize the pattern instead.
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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource