主题
响应 
CatchAdmin 为了统一整个后台的响应格式,对后台的响应数据格式做了代码层面的劫持,所有的响应数据以固定的格式进行输出,如下
成功响应(非分页) 
| 字段 | 类型 | 说明 | 
|---|---|---|
| code | int | 返回码 | 
| data | Object|Array | 返回数据 | 
| message | string | 返回信息 | 
错误响应 
| 字段 | 类型 | 说明 | 
|---|---|---|
| code | int | 返回码 | 
| message | string | 返回信息 | 
成功响应(分页格式) 
| 字段 | 类型 | 说明 | 
|---|---|---|
| code | int | 返回码 | 
| data | Array | 返回数据 | 
| limit | int | 每页显示数量 | 
| message | string | 返回信息 | 
| total | int | 总数 | 
使用者一般在控制器的方法返回结果就可以了,例如下面这样的
php
public function index()
{
    return ['hello' => 'world'];
}在控制器返回都是返回 success 的响应状态给前端,如果你需要错误响应,那么就需要使用异常
php
public function index()
{
    throw new FaileException('处理异常');
}具体实现可以参考我写的博客文章-另辟蹊径!如何在 Laravel 更优雅的响应 JSON 数据 ,利用 Illuminate\Foundation\Http\Events\RequestHandled 事件来 hook 整个响应内容实现,虽然有些绕口,但是在使用起来真的方便太多了。
自定义 
从个人开发经验来说,一般来说,后台的响应格式不会有什么变化,除非出现特殊需求,需要特定的响应格式。CatchAdmin 提供了一个非常易用的操作来实现特定的响应格式
php
use Catch\Support\ResponseBuilder;
public function index()
{
    return ResponseBuilder::success()->with('hello', 'world');
}最后的响应的内容如下 
还可以这么使用,先使用 code 静态方法,然后再进行链式调用
php
public function index()
{
    return ResponseBuilder::code(10000)
                ->with('hello', 'world')
                ->with('hi', 'world')
                ->data($data)
                ->message('Hello world');
}这样就可以轻而易举的实现自定义响应内容了,一般没有特殊的数据格式,建议使用 CatchAdmin 默认的响应即可