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

Api Generator Laravel Package

solidry/api-generator

Solidry API Generator scaffolds complete REST APIs for Laravel models in seconds. It generates controllers, routes, validation, and resources from your schema, cutting boilerplate so you can ship consistent, well-structured endpoints faster.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • API contract standard: JSON:API vs. bespoke REST. This package collapses the cost side of "adopt a standard." It scaffolds endpoints that already conform to the JSON:API spec, so the build-vs-standardize debate becomes a 1–2 day spike instead of a multi-sprint commitment. That is the single most valuable decision it informs.
  • Build vs. buy vs. scaffold for CRUD plumbing. It reframes the question: this is neither build (hand-write dozens of near-identical resource endpoints) nor buy (adopt a runtime framework you can't escape). Generated code lands in your repo and is yours to edit — closer to "borrow a senior engineer for a week." Verify how much runtime library comes along with the output before treating it as fully disposable.
  • Time-to-first-endpoint for a new product surface. For an MVP, internal admin API, or a partner-facing read API, a generator can move the first shippable endpoint from weeks to days. That changes what fits in a quarter.
  • Multi-client consistency. Web, iOS, Android, and partner integrations consuming one spec-shaped contract removes per-client bespoke work on pagination, filtering, sorting, sparse fieldsets, and relationship inclusion.
  • Payload strategy: fewer round trips vs. smaller responses. JSON:API's include/sparse-fieldset model forces an explicit answer on mobile latency budgets. The generator encodes those answers as defaults — a product decision made by default unless you review it.
  • Roadmap reallocation. Engineering capacity shifts from serializer/validation/route boilerplate to domain logic and differentiating features.
  • Technical-debt posture. Deciding to use an unmaintained generator as a one-time scaffold rather than a platform dependency is itself the key decision — it bounds the risk and tells you where to spend maintenance budget later.

When to Consider This Package

Adopt when:

  • You are on Laravel and have already decided JSON:API is your wire format — spec-first design, external consumers, or a client team that explicitly wants it. The generator is a poor way to discover that you need JSON:API.
  • Your domain is CRUD-heavy with clean, well-defined entities and relationships; you would otherwise hand-write 10–50 structurally similar resources.
  • The work is greenfield — new modules or a new service. Generators are weak against legacy schemas and bespoke business rules.
  • You have appetite for a short fork-and-own commitment: last release August 2020, ~326 stars, small community, no upstream fix path.
  • A timeboxed spike confirms compatibility with your Laravel/ORM version (the package's ORM assumptions and framework support ceiling must be verified — do not assume it runs on current Laravel).

Look elsewhere when:

  • You are on Laravel 9/10/11 and need a maintained JSON:API implementation with an active security-response path → laravel-json-api is the obvious maintained baseline; spatie/laravel-query-builder or native API Resources if you only need query conventions, not full JSON:API compliance.
  • You are outside Laravel → API Platform (Symfony) or a spec-compliant library in your stack.
  • You need authz policies, rate limiting, API versioning, or OpenAPI generation as first-class generated concerns.
  • Your endpoints are workflow/aggregate-shaped rather than resource-shaped; the generator's opinions become friction you pay for twice.
  • Procurement or security review requires an actively maintained dependency; a 2020-pinned generator will fail that gate on principle.

How to Pitch It (Stakeholders)

For executives (30 seconds): "It's a free, MIT-licensed code generator for Laravel that writes the repetitive ~80% of an API — list/detail/create/update/delete endpoints plus filtering, sorting, and pagination — in JSON:API, a recognized open standard. It could take weeks off our first release and gives every client (web, mobile, partners) one predictable contract. Two caveats, both manageable: it hasn't been updated since August 2020, so we treat it as a one-time scaffold we own — not a dependency we rely on — and we run a two-day spike to confirm it works on our version. Cash cost is zero; the risk is contained in a branch, not in production."

For engineering: "It emits controllers, requests, routes, and resource definitions conforming to JSON:API, so we stop re-litigating pagination defaults, filter syntax, and serialization on every endpoint. The value is front-loaded — once generated, the code is ours and editable. The trade-off is explicit: unmaintained since 2020, small community, no upstream fixes, and likely framework-version friction we'll have to resolve or fork.

Proposed plan:

  1. Spike (2 days, throwaway branch): generate one real resource end-to-end on our actual Laravel version.
  2. Measure: percentage of generated code needing hand-editing; runtime libraries it drags in and whether they pin us to an old framework; effort to adapt generated artifacts to our ORM conventions.
  3. Baseline comparison: same resource built with laravel-json-api or hand-rolled API Resources, timed.
  4. Decision gate: adopt as scaffold only if the spike yields a shippable endpoint and the generated code stands alone without legacy runtime pins. Otherwise we take the spec discipline (JSON:API conventions, sparse fieldsets, include strategy) and implement it on a maintained library — the architectural insight survives even if the package doesn't."
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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core