响应宏
如果想要定义一个自定义的可以在多个路由和控制器中复用的响应,可以使用 Response 门面上的 macro 方法
就是提供一个固定的模板给响应使用
首先去app\Providers写一个响应类
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\ServiceProvider;
class ResponseMacroServiceProvider extends ServiceProvider
{
/**
* 注册响应宏
*
* @return void
*/
public function boot()
{
//api是响应名称,使用的时候是根据这个区分的
//闭包里面是可以传递的参数
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);
最后,我们自己注册的响应宏是可以响应出来的了

自定义响应宏在 Laravel 中的应用

这篇博客介绍了如何在 Laravel 框架中创建并使用响应宏,以实现复用性和标准化的 API 响应。首先,在 `app/Providers` 目录下创建 `ResponseMacroServiceProvider` 类,定义一个名为 `api` 的宏,该宏接收消息、状态码和数据作为参数,构造并返回 JSON 响应。然后,在 `config/app.php` 的服务提供者数组中注册该类。完成这些步骤后,可以在控制器中调用 `response()->api()` 来快速生成符合规范的响应。

被折叠的 条评论
为什么被折叠?



