esdlabs/reply

此包最新版本(v1.0.4)没有可用的许可信息。

比以往任何时候都更容易管理RESTful错误

v1.0.4 2014-09-05 14:17 UTC

This package is not auto-updated.

Last update: 2024-09-24 07:54:58 UTC


README

使RESTful错误处理变得比以往任何时候都更简单的包。

特性

  • 预定义错误和响应代码
  • 运行时错误响应
  • 数据库中定义的错误

版本

1.0.4

安装

准备

打开您的composer.json文件,并在require数组中添加以下内容

"esdlabs/reply": "1.*"

安装依赖项

php composer install

php composer update

集成

安装包后,打开您的Laravel配置文件app/config/app.php,并添加以下行。

在$providers数组中添加此包的以下服务提供者。

'Esdlabs\Reply\ReplyServiceProvider',

在$aliases数组中添加此包的以下外观。

'Reply' => 'Esdlabs\Reply\Facades\Reply',

迁移

php artisan migrate --package=esdlabs/reply

数据库定义

reply_errors

  • id
  • error_code
  • response_code
  • description

按照以下方式在错误表中定义您的错误

| id | error_code | response_code | description | |---|---|---|---|---| | 1 | '0x001' | 400 | 'Invalid username or password' | | 2 | '0x002' | 406 | ' Valitation failed |

用法

class LoginController extends Controller {

    public function store()
    {
        try
        {
            ...
        }
        catch (CustomException $e)
        {
            return Reply::error('0x001');
        }
        catch (AnotherException $e)
        {
            return Reply::error('0x002', array('note 1', 'note 2');
        }
        catch (Exception $e)
        {
            return Reply::customError('Custom error description', 500, "Note description");
        }
    }
}

HTTP输出

HTTP/1.1 400 Bad Request

{
    "error_code": "0x001",
    "description"": "Invalid username or password"
}
HTTP/1.1 406 Not Acceptable

{
    "error_code": "0x002",
    "description"": "Valitation failed",
    "notes" : [
        "note 1", 
        "note 2"
    ]
}
HTTP/1.1 500 Internal Server Error

{
    "error_code": "UNK-ERROR",
    "description"": "Custom error description",
    "notes": "Note description"
}

许可

此包是开源软件,受MIT许可许可。