holocronit / laravel-api-response-provider
Laravel Provider library for implementing structured responses to API calls
v1.1.2
2023-04-07 07:49 UTC
Requires
- php: >=7.4.21
- laravel/framework: >=8.75
This package is auto-updated.
Last update: 2025-05-07 12:19:48 UTC
README
Laravel Provider library for implementing structured responses to API calls
This library helps in the standardized generation of responses of any API layer. It also provides utilities for multi-language support of error responses
The library takes care to always guarantee a "status" key containing the logical result of the operation. In the case of "status" to false, the "error" object containing "code" and "description" will always be present. Here are some examples
// Success operation message
{
"status" : true,
"foo" : "bar"
}
// Error operation message
{
"status" : false,
"error" : {
"code" : 10,
"desc" : "Error description message"
}
}
Installation
composer require laravel-api-response-provider
php artisan vendor:publish --tag=errors-config
Configuration
Add new service provider to the providers’ array as shown below.
'providers' => [
...,
App\Providers\RouteServiceProvider::class,
// Our new package class
Holocronit\LaravelApiResponseProvider\responseProvider::class,
],
How to use
//Remember to import the library
use Holocronit\LaravelApiResponseProvider\responseProvider;
$responseProvider = new responseProvider();
//First parameter is the DATA, the second parameter is the KEY
$responseProvider->addData('foo',"bar");
return response()->json($responseProvider->getResponseData());
// With error
$responseProvider = new responseProvider();
$responseProvider->inError(10, "My custom error message");
// OR
$responseProvider->inError(1); // If not specified, the message will be taken from the preloaded catalog for the current locale. This is useful if you have errors common to multiple methods
return response()->json($responseProvider->getResponseData());
// With custom locale
$responseProvider = new responseProvider();
$responseProvider->loadErrorListForLocale('it');
// Default locale is "en".
$responseProvider->inError(1);
return response()->json($responseProvider->getResponseData());
Update error list
Update and add your own custom errors in the published file errors_list.json in Config Path with your custom locale.
{
"en": {
"1": "Generic error",
"2": "Empty token"
},
"it": {
"1": "Errore generico"
}
}