razonyang/yii2-jsend

Yii2 的 JSend 实现

安装数: 4,187

依赖: 1

建议者: 0

安全性: 0

星标: 5

关注者: 3

分支: 0

开放问题: 0

类型:yii2-extension

1.0.1 2019-08-21 08:12 UTC

This package is auto-updated.

Last update: 2024-09-13 09:33:55 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads LICENSE

本包是 Yii2 对 JSend 规范的实现。

安装

composer require razonyang/yii2-jsend

使用方法

更新响应格式器和错误处理器

return [
    'components' => [
        'response' => [
            'formatters' => [
                \yii\web\Response::JSON => [
                    'class' => \RazonYang\Yii2\JSend\Formatter::class,
                ],
            ],
        ],
        'errorHandler' => [
            'class' => \RazonYang\Yii2\JSend\ErrorHandler::class,
        ],
    ],
];

更改 REST 控制器序列化器

public $serializer = \RazonYang\Yii2\JSend\Serializer::class;

错误处理器

ErrorHandler 将异常转换为错误负载

{
    "status": "error",
    "code": "exception code",
    "message": "exception message"
}

它还可以通过抛出 JSend 的异常来返回可选的数据字段

throws new RazonYang\Jsend\Exception($message, $code, $data, $previous);

// you can also define your own exception:
class MyException extends RazonYang\Jsend\Exception
{
}

throws new MyException();
{
    "status": "error",
    "code": "exception code",
    "message": "exception message",
    "data": "exception data"
}