imdhemy / jsonable
此包已被 放弃 并不再维护。未建议替代包。
Laravel JSON 响应特性。
v1.0.0
2019-03-15 19:45 UTC
Requires
- php: >=7.1.0
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 | 需要支付 |