datakrama / lapires
Lapires - Laravel API响应,将您的API服务器上的所有响应进行通用化
v2.1.0
2020-11-06 08:53 UTC
Requires
- php: ^7.2|^8.0
- illuminate/support: ^7.0|^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^5.0|^6.0
- phpro/grumphp: ^1.1
- phpunit/phpunit: ^8.0|^9.0
README
Lapires 是一个简单的 Laravel 包,用于将所有默认响应通用化为API友好的响应。使用此包,您将获得格式正确的JSON响应。然而,响应格式是固定的,您不能更改格式。
要求
Laravel 兼容性
安装
$ composer require datakrama/lapires:"^2.0"
配置(可选)
如果您需要禁用此包的定制异常响应,发布配置文件,并将 exception
选项更改为 false
。
$ php artisan vendor:publish --provider="Datakrama\Lapires\LapiresServiceProvider"
用法
所有响应将格式化为以下形式
// Success response
{
"success": true,
"message": ...,
"data": {
...
}
}
// Error response
{
"success": false,
"message": ...,
"errors": {
...
}
}
一般
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Datakrama\Lapires\Traits\ApiResponser;
class HomeController extends Controller
{
use ApiResponser;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
return view('home');
}
/**
* Success response
*
* @return void
*/
public function success()
{
$data = ['foo' => 'bar'];
$message = 'This is example success response.';
$code = 200;
return $this->successResponse($data, $message, $code);
}
/**
* Error response
*
* @return void
*/
public function error()
{
$code = 500;
$message = 'This is example error response.';
$errors = ['foo' => 'bar'];
return $this->successResponse($code, $message, $errors);
}
}
感谢
此包的创建受到了 https://github.com/Cerwyn/laravel-generalizing-response 的启发。
许可
MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。