响应宏
如果想要定义一个自定义的可以在多个路由和控制器中复用的响应,可以使用 Response 门面上的 macro 方法
就是提供一个固定的模板给响应使用
首先去app\Providers写一个响应类
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\ServiceProvider;
class ResponseMacroServiceProvider extends ServiceProvider
{
public function boot()
{
Response::macro('api', function ($msg = '', $code = 200, $data = '') {
$resData = [
'code' => $code,
'msg' => $msg,
'time' => time(),
'data' => $data
];
return response()->json($resData);
});
}
}
写完响应后,还需要去注册我们自己写的响应 在config\app.php里面的providers[数组里面]去注册
App\Providers\ResponseMacroServiceProvider::class,
然后再去使用它
$blog = Blog::all();
return response()->api('成功', '200', $blog);
最后,我们自己注册的响应宏是可以响应出来的了
|