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
Laravel Json Response

Laravel Json Response Laravel Package

dragon-code/laravel-json-response

A Laravel package for building consistent JSON API responses. It provides fluent helpers for success, error, and custom payloads, helping standardize response structure and reduce boilerplate across controllers and APIs.

View on GitHub
Deep Wiki
Context7

Automatically always return a response in JSON format

Frequently asked questions about Laravel Json Response
What does dragon-code/laravel-json-response actually do?
It is a thin Laravel service provider that ensures responses leave your application as JSON, so validation failures, exceptions, abort() calls, and redirects render as JSON envelopes instead of HTML pages or redirects. It also ships fluent helpers for success, error, and custom payloads, with control over HTTP status codes and headers. There are no migrations, no queues, and no database footprint.
How do I install dragon-code/laravel-json-response in a Laravel app?
Install it with composer require dragon-code/laravel-json-response and let Laravel package auto-discovery register the service provider. There is no config file to publish and no migration to run, so the setup surface is deliberately small. After that, responses are serialized as JSON according to the package convention.
Does this package support Laravel 13?
Yes. Version 3.2.0 added Laravel 13 compatibility through a human-authored pull request, with no new features, no deprecations, and no breaking changes in that release. That puts the package inside the supported version window for teams planning a Laravel 13 upgrade. Confirm the tagged release on Packagist yourself before you commit to it.
Should I use it in an app that also serves Blade views?
Generally no. Forcing JSON content negotiation app-wide changes behavior for every route, which is a poor fit for hybrid Blade plus /api applications. The correct scope for that kind of app is the api middleware group or a specific route group, not the global kernel. API-only or API-first services are the natural fit.
Can it replace my custom middleware or Handler::shouldReturnJson()?
Often not. If you already enforce Accept: application/json on clients or override Handler::shouldReturnJson(), adding the package gains you a dependency rather than new behavior. A 20 to 40 line in-house middleware remains the primary alternative, and the package's small code surface means that gap has not narrowed. Adopt it for the convention, not for capability.
How do I customize the JSON response format for my project?
Customization is limited by design: there is no published config file, so project-specific formats come from composing your own payloads with the fluent success, error, and custom helpers. The package's goal is a predictable envelope, not a templating engine. If you need heavily nested or spec-driven structures, keep your own response builder instead.
Is the package still maintained, or is the repository archived?
An earlier assessment treated the repository as archived, but release 3.2.0 with a Laravel 13 compatibility PR contradicts that. Three of the four changes in that release were bot commits covering license year, README preview, and banner, so maintenance looks thin and automated rather than feature-driven. Verify the current archive flag, issue activity, and Packagist release before relying on it.
What breaks when JSON responses are forced globally?
Forcing JSON at the kernel level can break file downloads, streamed responses, health and readiness probes expecting a 200 OK text body, OAuth redirect flows, and any route that depends on 302 semantics. This risk is inherent to the approach and Laravel 13 support does not mitigate it. Test each of those paths explicitly in your own application.
Does it change validation errors and exception output, and is that a security concern?
Validation failures and exceptions render as JSON envelopes rather than HTML error pages or redirects, which is usually exactly what API clients want. The trade-off is information disclosure: with APP_DEBUG enabled or verbose exception rendering, stack traces, SQL fragments, and environment hints can reach clients as structured JSON. Audit your debug and exception handling at the same time you adopt the package.
Is dragon-code/laravel-json-response production ready and widely used?
Adoption signals are near zero, with very few stars and dependents, so there is little community validation against edge cases and the verification burden stays with your team. That is acceptable for a package this small, but it is not evidence of active feature investment or careful edge-case stewardship. The code is thin while the behavior change is global, so weigh the dependency against a small in-house middleware.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo