nicklaw5 / larapi
一个简单的 Laravel 5 类,用于处理 JSON API 响应。
3.0.1
2017-02-03 19:35 UTC
Requires
- php: >=5.5.9
README
一个简单的 Laravel 5 扩展包,用于处理常见的 HTTP API 响应(JSON 格式)。
文档
您可以在以下位置找到 v2.x 文档。有关最新版本(v3.x)的文档,请参阅下面。
安装
使用 composer 引入 Larapi
$ composer require nicklaw5/larapi
然后,将以下 服务提供者 添加到您的 config/app.php
文件中的 providers
数组
'providers' => array( ... Larapi\LarapiServiceProvider::class, );
用法
###成功响应### 可用响应
Larapi::ok(); // 200 HTTP Response Larapi::created(); // 201 HTTP Response Larapi::accepted(); // 202 HTTP Response Larapi::noContent(); // 204 HTTP Response
示例:返回 HTTP OK
这将返回
// app/Http/routes.php Route::get('/', function() { return Larapi::ok(); });
带有以下头信息
{ "success": true }
示例:返回 HTTP OK 并包含响应数据
HTTP/1.1 200 OK
Content-Type: application/json
示例:返回 HTTP OK 并包含自定义响应头信息
这将返回
// app/Http/routes.php Route::get('/', function() { $data = [ ['id' => 1, 'name' => 'John Doe', 'email' => 'john@doe.com'], ['id' => 2, 'name' => 'Jane Doe', 'email' => 'jane@doe.com'] ]; return Larapi::ok($data); });
带有以下头信息
{ "success": true, "response": [ { "id": 1, "name": "John Doe", "email": "john@doe.com" }, { "id": 2, "name": "Jane Doe", "email": "jane@doe.com" } ] }
示例:返回 HTTP OK 并包含响应数据
HTTP/1.1 200 OK
Content-Type: application/json
###错误响应###
这将返回
// app/Http/routes.php Route::get('/', function() { $data = [ ['id' => 1, 'name' => 'John Doe', 'email' => 'john@doe.com'], ['id' => 2, 'name' => 'Jane Doe', 'email' => 'jane@doe.com'] ]; $headers = [ 'Header-1' => 'Header-1 Data', 'Header-2' => 'Header-2 Data' ]; return Larapi::ok($data, $headers); });
带有以下头信息
{ "success": true, "response": [ { "id": 1, "name": "John Doe", "email": "john@doe.com" }, { "id": 2, "name": "Jane Doe", "email": "jane@doe.com" } ] }
示例:返回 HTTP OK 并包含响应数据
HTTP/1.1 200 OK
Content-Type: application/json
Header-1: Header-1 Data
Header-2: Header-2 Data
可用响应
示例:返回 HTTP 错误请求
Larapi::badRequest(); // 400 HTTP Response Larapi::unauthorized(); // 401 HTTP Response Larapi::forbidden(); // 403 HTTP Response Larapi::notFound(); // 404 HTTP Response Larapi::methodNotAllowed(); // 405 HTTP Response Larapi::conflict(); // 409 HTTP Response Larapi::unprocessableEntity(); // 422 HTTP Response Larapi::internalError(); // 500 HTTP Response Larapi::notImplemented(); // 501 HTTP Response Larapi::notAvailable(); // 503 HTTP Response
示例:返回 HTTP 错误请求并包含自定义应用程序错误信息
这将返回
// app/Http/routes.php Route::get('/', function() { return Larapi::badRequest(); });
带有以下头信息
{ "success": false }
示例:返回 HTTP OK 并包含响应数据
HTTP/1.1 400 Bad Request
Content-Type: application/json
示例:返回 HTTP 错误请求并包含错误数组及自定义响应头信息
这将返回
// app/Http/routes.php Route::get('/', function() { $errorCode = 4001; $errorMessage = 'Invalid email address.'; return Larapi::badRequest($errorMessage, $errorCode); });
带有以下头信息
{ "success": false, "error_code": 4001, "error": "Invalid email address." }
示例:返回 HTTP OK 并包含响应数据
HTTP/1.1 400 Bad Request
Content-Type: application/json
许可证
这将返回
// app/Http/routes.php Route::get('/', function() { $errorCode = 4001; $errors = [ 'email' => 'Invalid email address', 'password' => 'Not enough characters', ]; $headers = [ 'Header-1' => 'Header-1 Data', 'Header-2' => 'Header-2 Data' ]; return Larapi::badRequest($errors, null, $headers); });
带有以下头信息
{ "success": false, "errors": { "email": "Invalid email address", "password": "Not enough characters" } }
示例:返回 HTTP OK 并包含响应数据
HTTP/1.1 200 OK
Content-Type: application/json
Header-1: Header-1 Data
Header-2: Header-2 Data
Larapi 在 MIT 许可证的条款下授权。
Larapi 使用的是 MIT 许可证。
待办事项
- 测试,测试,测试