bycedric / delegator
一个不错的API助手,适用于Laravel,以保持您的响应RESTful。
Requires
- php: >=5.3.7
- illuminate/http: 4.1.*
- illuminate/support: 4.1.*
This package is not auto-updated.
Last update: 2020-01-24 15:21:56 UTC
README
一个不错的API助手,适用于Laravel,以保持您的响应RESTful。它与Laravel的常规响应完美融合。
安装
您可以通过Composer安装此包。
"require-dev": { "by-cedric/delegator": "dev-master" }
Delegator扩展了Laravel的基本Response外观。因此,您需要使用Delegator的Response外观版本。当然,您仍然可以使用Response的标准函数。
在config/app.php中搜索此行
'aliases' => array( ... 'Response' => 'Illuminate\Support\Facades\Response', ... )
并将其替换为
'aliases' => array( ... 'Response' => 'ByCedric\Delegator\Facades\Response', ... )
基本用法
您可以使用Delegator像这样简单
Response::api();
这初始化了一个新的Delegator,实际上是一个Response对象。因此,当您完成响应设置后,您只需将其作为正常的响应返回即可
public function show( $id ) { $task = Task::find($id); return Response::api($task); }
函数
所有函数都是可链式的。使用Response外观创建了一个新的Delegator实例
Response::api();
您可以使用以下函数之一,作为链式方法,来操作响应。
code
在正常响应中,始终有一个状态码来解释基本状况。
它接受一个整数。
Response::api()->code(403);
message
API响应经常在开发人员开发应用程序时被读取。在开发过程中,可能会出错很多。因此,始终建议提供可读性强的消息。
它接受一个字符串。
Response::api()->message('Please specify a valid API key.');
data
API响应几乎总是填充着数据。我想不需要解释...
它接受一个数组,或者实现ArrayableInterface的任何对象。
Response::api()->data($task);
请注意,Delegator的构造函数也以完全相同的方式接受数据。
Response::api($task);
callback
并非所有时候都可以进行简单的JSON请求。然后您只需使用JSONP响应。
它接受一个字符串。
Response::api()->callback('loaded_call');
error
当发生错误时,您可能希望立即响应。错误负责可读性强的消息和HTTP状态码。
它接受一个字符串和一个整数。
Response::api()->error('Could not find task with id #'. $id, 404);
limit
当响应集合时,有关一次可以返回的项目数量的信息非常有用。例如,您可以使用它构建分页。
它接受一个整数,或布尔值以删除任何设置值。
Response::api()->limit(100);
offset
当响应集合时,有关整个集合当前偏移量的信息非常有用。例如,您可以使用它构建分页。
Response::api()->offset(45);
count
当响应集合时,有关现有项目总数的有关信息非常有用。例如,您可以使用它构建分页。
Response::api()->count(231);
mockCode
一些(旧的)客户端在处理HTTP状态码时非常笨拙。在这种情况下,最好让客户端稍微放松一下。这总是返回HTTP状态码200,只有响应中的代码才是真实的。
它接受一个布尔值,通常用于再次禁用它。
Response::api()->code(404)->mockCode();