imdhemy/jsonable

此包已被 放弃 并不再维护。未建议替代包。

Laravel JSON 响应特性。

v1.0.0 2019-03-15 19:45 UTC

This package is auto-updated.

Last update: 2022-02-07 22:15:12 UTC


README

Laravel JSON 响应特性。这个特性使任何控制器都能轻松返回带有适当 HTTP 状态码的 JSON 响应。

安装

通过 composer

composer require imdhemy/jsonable

用法

您只需在控制器中 使用 Jsonable 特性。

示例

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Imdhemy\Jsonable\Jsonable;

class CountryController extends Controller
{
    use Jsonable;

    public function index()
    {
        $data = \App\Country::get();
        return $this->ok($data, 'countries');
    }
}

前面的代码将返回以下 JSON 响应

  {
    "countries": [
        {
            "name": "Egypt",
            "capital": "Cairo",
        },
           ...
    ]
}

父键是可选的,可以省略

$data = \App\Country::get();
return $this->ok($data);

响应将如下所示

[
 {
  "name": "Egypt",
  "capital": "Cairo",
  },
        ...
]

可用方法

成功方法

方法 状态码 描述
ok 200 成功的获取、修补(返回 JSON 对象)
created 201 成功的 POST(返回 JSON 对象)
noContent 204 成功的删除

错误状态

方法 状态码 描述
unauthorized 401 未认证
无效 403 已认证,但没有权限
notFound 404 未找到
无效 422 验证

额外方法

方法 状态码 描述
accepted 202 成功的 POST、删除、路径 - 异步
badRequest 400 服务器因语法错误而无法理解请求
paymentRequired 402 需要支付