karunais13 / api-response-formatter
结构化API响应
v2.0
2020-03-03 05:43 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: >=4.0
This package is auto-updated.
Last update: 2024-09-29 05:29:06 UTC
README
此包允许标准化和结构化响应。特别是针对API。响应的结构将如下
{ "succeeded" : "true/false (boolean)", "code" : "Success/Error Code (integer)" , "message" : "Success/Error Message (string)", "objects" : "Return data (*)" }
安装
按照通常的方式安装composer。
在项目的根目录中运行此命令
"composer require karu/api-response-formatter"
对于Laravel 5.5及以下版本,在配置文件中添加提供者如下
app/config/app.php
... 'providers' => array( ... Karu\ApiResponse\ApiResponseProvider::class, ], ... 'aliases' => [ ... ApiResponse: Karu\ApiResponse\Facades\ApiResponseFacade::class ]
配置
将包配置复制到相应的文件夹中。
php artisan vendor:publish --provider='Karu\ApiResponse\ApiResponseProvider'
app/config/responsecode.php
<?php return [ 'message' => [ 0 => '', // Sample Code setup // Model : User 100 => 'User not found.', 101 => 'Incorrect combination of login information.', 102 => 'You\'re not allow to use the same current password.', 103 => 'Failed to update new password.', 104 => 'This email is not available.', 105 => 'Failed to create new user account.', 106 => 'Failed to upload avatar.', 107 => 'Failed to update user account.', 108 => 'Invalid image file format.', 109 => sprintf('Image file size cannot larger than %dMB.', 5), 110 => 'Old password incorrect.', 111 => 'Email does not exits. Please contact admin to reset the password.', 112 => 'Password successfully updated', 113 => 'User FB ID already exists', 114 => 'Too many login attempt', 115 => 'Failed to update new token.', ], ];
基本用法
将外观导入文件并返回它。如下所示
Laravel
.... use ApiResponse; function example(){ .... .... .... return ApiResponse::res(true, 100, []); }
可用方法
res( $status, $code, $data )
- 根据代码获取响应消息
- @param boolean $status
- @param integer $code
- @param string|object|array|null $data
ApiResponse::res(true, 100, [])
resCustom( $status, $message, $data )
- 返回不带代码的响应
- @param boolean $status
- @param string $message
- @param string|object|array|null $data
ApiResponse::resCustom(true, "User not found", [])
更改别名(针对Laravel)
app/config/app.php
... 'aliases' => [ ... {user alias name}: Karu\ApiResponse\Facades\ApiResponseFacade::class ]
示例
... 'aliases' => [ ... NpRes: Karu\ApiResponse\Facades\ApiResponseFacade::class ]