byh / laravel-kit
laravel 工具类
v1.0.0
2020-12-29 06:26 UTC
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2024-09-29 05:43:04 UTC
README
- composer require byh/laravel-kit
添加服务
在config下app.provider里面添加
\Byh\LaravelKit\ApiResponseServiceProvider::class,
如果要使用Facade门面,需要在config下app.aliases中添加
'ApiResponse' => \Byh\LaravelKit\Facades\ApiResponse::class
发布配置
php artisan vendor:publish 发布成功后即可在config下发现apiresponse.php文件,该文件用于自定义返回参数设置
使用
//成功
public function testSuccess()
{
return ApiResponse::success('hahaha');
}
//失败
public function testFail()
{
return ApiResponse::fail('errrrrrr');
}
Exceptions
全局异常处理中(app/Exceptions/handle)添加对UnauthorizedException,RequestParamsValidException的处理
public function render($request, Throwable $e)
{
if ($e instanceof NotFoundHttpException) {
return response()->json([
'status' => 'error',
'code' => $e->getStatusCode(),
'message' => '请求失败',
'data' => null,
'error' => '请求地址不存在'
], $e->getStatusCode());
}
if ($e instanceof UnauthorizedException) {
return response()->json(ApiResponse::unauthorized($e->getMessage()));
}
if ($e instanceof RequestParamsValidException)
return response()->json(ApiResponse::requestParamsValidError($e->getMessage()));
return parent::render($request, $e); // TODO: Change the autogenerated stub
}
默认值
codeMsg
'codeMsg' => [
'success' => ['code' => 200, 'message' => '成功'],
'fail' => ['code' => 400, 'message' => '失败'],
'unauthorized' => ['code' => 401, 'message' => '不被允许的请求'],
'loginExpire' => ['code' => 402, 'message' => '登录已失效'],
],
status
'status' => [
'success' => [200, 299],
'fail' => [400, 499],
'error' => [500, 599]
]