jefferyjob / laravel-api-code
laravel 开发API最简单的方式
dev-master
2022-03-19 03:50 UTC
This package is auto-updated.
Last update: 2024-09-19 12:31:51 UTC
README
环境要求
安装
使用composer安装
composer require jefferyjob/laravel-api-code
添加服务
在laravel框架配置目录conf目录的app.php文件中,容器配置providers中配置IOC
Jefferyjob\LaravelApiCode\ApiCodeServiceProvider::class,
发布配置
php artisan vendor:publish --provider="Jefferyjob\LaravelApiCode\ApiCodeServiceProvider"
API数据优化
在app/Exceptions/Handler.php中增加,接口在匹配以下规则的情况下,在异常抛出中以Json格式输出错误。
/** * 将异常渲染至 HTTP 响应值中 * * @param \Illuminate\Http\Request $request * @param \Throwable $e * @return \Symfony\Component\HttpFoundation\Response * * @throws \Throwable */ public function render($request, Throwable $e) { if ($request->is('ajax/*') || $request->is('api/*') || $request->ajax()){ return response()->json(app('ApiCode')->getExceptionContent($request, $e), 200); } else { return parent::render($request, $e); } }
在app/Http/Kernel.php中配置数据返回的中间件
protected $middlewareGroups = [ 'api' => [ // ... ... \Jefferyjob\LaravelApiCode\App\Middleware\Api::class, // ... ... ], ];