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

Hateoas Bundle Laravel Package

gointegro/hateoas-bundle

GoIntegro Hateoas Bundle brings HATEOAS to Symfony REST APIs: a JSON:API-style response format with pagination, sorting, filtering, sparse fieldsets, and embedded related resources, plus annotations and helpers to expose resources and links with minimal configuration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • API contract standardization. Informs the decision of whether to commit to JSON:API/HATEOAS as the contract for public, partner, or multi-client APIs, versus a bespoke REST shape or GraphQL. The package encodes the spec so the decision is testable against real serialization behavior rather than a whiteboard.
  • Build vs. buy for the hypermedia layer. The reusable, undifferentiated work — link generation, relationship embedding, compound documents, sparse fieldsets, pagination/sorting/filtering conventions, resource metadata — is exactly what this bundle supplies. The decision this supports is whether to spend 4–8 engineer-weeks reimplementing that layer or adopt an existing implementation and own the fork.
  • Roadmap sequencing for client-facing APIs. If HATEOAS is on the roadmap (client decoupling, self-describing responses, fewer breaking changes for integrators), this package lets that capability ship earlier and in a spec-compliant form, which changes when you can promise "no client version bump" releases.
  • Integration surface decisions. Whether to expose relationship endpoints as first-class resources, how to model included payloads, and how much of the graph a single request may return — these are product-shaping choices (payload size, mobile performance, N+1 risk) that the package forces you to make explicitly.
  • Buy-in for a "standards-first" API posture. Useful evidence when deciding whether API design follows an external specification (JSON:API) instead of internal convention — which affects hiring, documentation, and SDK generation strategy.

When to Consider This Package

Consider it when:

  • The service is a Symfony application (this is a Symfony bundle, not a Laravel package — see below) on Doctrine ORM entities, and the team wants JSON:API compliance without hand-rolling a serializer.
  • You have a small team and a near-term partner/mobile integration deadline, and the hypermedia plumbing is not where your differentiation lives.
  • You are comfortable with annotation/YAML-driven resource configuration and accept the coupling between your domain entities and the API representation.
  • The API is genuinely resource-graph-shaped (many relationships, compound documents, sparse fieldsets) — the payoff scales with graph complexity.

Look elsewhere when:

  • You are on Laravel. This is a Symfony bundle and will not drop in. Laravel teams should evaluate cloudcreativity/laravel-json-api or spatie/laravel-json-api for the same capability, or drop the JSON:API requirement entirely.
  • Maintenance risk is disqualifying. 68 stars and 0 dependents is a weak adoption signal; the Symfony ecosystem has moved several major versions since bundles of this style were idiomatic. Before adoption, verify supported Symfony/PHP versions, recent commit activity, and open-issue response. Assume you may need to fork and own it — budget accordingly.
  • You want a maintained, first-party path. Symfony's own Serializer plus a thin JSON:API layer, or API Platform (which has first-class JSON:API and HATEOAS support and a real community), is the safer default for new Symfony builds.
  • You don't actually need hypermedia. If clients are first-party and versioned in lockstep, HATEOAS is overhead. OpenAPI-first REST is simpler to document, mock, and generate clients from.
  • You need security responsiveness. Low-adoption packages rarely get timely CVE attention; if the API is internet-facing and regulated, that is a real cost.

How to Pitch It (Stakeholders)

For executives: This is an accelerator for a standards-compliant API, not a platform bet. It can compress the hypermedia/serialization portion of a partner-API initiative from weeks to days and gives integrators a self-describing, spec-conformant interface — fewer support tickets, fewer breaking-change negotiations. The caveat is adoption risk: the project has a small community, so treat it as "adopt-and-own," not "adopt-and-forget." Recommended posture: time-boxed evaluation in a spike, with a fork-and-maintain contingency, not a blanket standard.

For engineering: It provides JSON:API resource configuration, link and relationship serialization, compound documents, sparse fieldsets, and pagination conventions on top of Doctrine — real code you don't have to write or spec. Two hard constraints to validate first: (1) it is a Symfony bundle, so it is off the table for our Laravel services; (2) supported Symfony/PHP versions and commit recency need checking before we plan around it. If it clears those, run a two-day spike against one real resource graph; if it doesn't, API Platform is the fallback for Symfony and the Laravel JSON:API packages for the other side.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource