holocronit / laravel-api-response-provider
Laravel API调用实现结构化响应的Provider库
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: 2024-09-07 10:57:51 UTC
README
Laravel API调用实现结构化响应的Provider库
这个库有助于标准化生成任何API层的响应。它还提供了多语言支持错误响应的实用工具。
库始终确保包含“状态”键,其中包含操作的逻辑结果。如果“状态”为false,则包含“code”和“description”的“错误”对象将始终存在。以下是一些示例
// Success operation message
{
"status" : true,
"foo" : "bar"
}
// Error operation message
{
"status" : false,
"error" : {
"code" : 10,
"desc" : "Error description message"
}
}
安装
composer require laravel-api-response-provider
php artisan vendor:publish --tag=errors-config
配置
Add new service provider to the providers’ array as shown below.
'providers' => [
...,
App\Providers\RouteServiceProvider::class,
// Our new package class
Holocronit\LaravelApiResponseProvider\responseProvider::class,
],
如何使用
//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 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"
}
}