myerscode / laravel-api-response
A fluent helper and facade to ensure consistent, idempotent API responses in Laravel and Lumen
Installs: 18 334
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: ^8.2
- ext-fileinfo: *
- ext-json: *
- illuminate/support: ^11.0
Requires (Dev)
- mockery/mockery: ^1.2
- orchestra/testbench: v9.0.3
- phpunit/phpunit: ^11.0
README
A fluent helper to provide a consistent shaped API responses in Laravel
Why is this package helpful?
This package ensures your API will always return the same envelope shape, so consuming apps always know what to expect!
Install
You can install this package via composer:
composer require myerscode/laravel-api-response
Usage
In a Laravel controller you just to build up your response and return it!
The api()
helper return a Response Builder
and as it implements the Responsable
trait you dont need to do anything more than return the builder
Using the api() helper function
function resource() { return api()->status(201)->data(['name' => 'Foo Bar'])->message('Record Created!'); }
Using a Builder class
function resource() { $buillder = new Builder(); $builder->status(201)->data(['name' => 'Foo Bar'])->message('Record Created!'); return $builder; }
Would return the following JSON
response.
{ "status": 201, "data": { "name": "Foo Bar" }, "meta": [], "messages": [ "Record Created!" ] }
License
The MIT License (MIT). Please see License File for more information.