youngmayor/app-response

为Laravel应用程序提供统一、易于使用的响应的Laravel包

1.1.0 2022-07-12 20:48 UTC

This package is auto-updated.

Last update: 2024-09-13 01:34:27 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

这是一个为我们的应用程序提供统一响应的简单Laravel包。

安装

您可以通过composer安装此包

composer require youngmayor/app-response

用法

该包使用自动发现,因此如果您使用Laravel 5.5或更高版本,则安装包将自动在您的应用程序中注册。

但是,如果您使用Laravel 5.4或以下版本,您需要将以下片段添加到您的config/app.php以注册服务提供者和别名

'providers' => [
    // ...
    YoungMayor\AppResponse\AppResponseServiceProvider,
    // ...
],

'aliases' => [
    // ...
    "AppResponse": "YoungMayor\AppResponse\Facade\AppResponse"
    // ...
],

现在,您可以使用以下方法之一将包添加到我们的控制器操作中

  1. 注入API响应助手
// ...
use YoungMayor\AppResponse\API; 
// ...

class SampleController extends Controller
{
    public function sampleMethod(API $api)
    {
        // ...
        return $api->success("Action was successful");
    }
}
  1. 注入Web响应助手
// ...
use YoungMayor\AppResponse\Web; 
// ...

class SampleController extends Controller
{
    public function sampleMethod(Web $web)
    {
        // ...
        return $web->success("Action was successful");
    }
}
  1. 注入自动响应助手
// ...
use YoungMayor\AppResponse\Auto; 
// ...

class SampleController extends Controller
{
    public function sampleMethod(Auto $auto)
    {
        // ...
        return $auto->success("Action was successful");
    }
}
  1. 使用包外观
// ...
use YoungMayor\AppResponse\Facade\AppResponse; 
// or 
use AppReponse; // this utilises the Facade aliase
// ...

class SampleController extends Controller
{
    public function sampleMethod()
    {
        // ... 
        return AppResponse::success("Action was successful"); 
    }
}
  1. 使用辅助函数
class SampleController extends Controller
{
    public function sampleMethod()
    {
        // ...
        return appResponse()->success("Action was successful"); // for automatic response
        // or 
        return appResponse()->api->success("Action was successful"); // for API only resppnse
        // or 
        return appResponse()->web->success("Action was successful"); // for Web only resppnse
    }
}

响应类型

该包提供两种响应形式,Web和API。它还提供一个自动响应器,如果存在Accept: application/json头部,则作为API响应,如果头部不存在,则作为Web响应。

API响应

这返回一个JSON响应

示例

{
    "status": "success", 
    "statusCode": 200, 
    "message": "Action was successful", 
    "data": {
        "name": "Foo Bar", 
        "email": "foobar@example.com"
    }
}

Web响应

这将以Web页面的形式渲染响应。以下是一个示例Screenshot

可以通过将app-response.render-web-as-view配置设置为false来完全关闭Web响应。可以使用以下命令发布配置文件

php artisan vendor:publish --provider="YoungMayor\AppResponse\AppResponseServiceProvider" --tag="config"

Web响应也可以自定义。要在根目录下发布视图,请在应用程序终端运行以下代码

php artisan vendor:publish --provider="YoungMayor\AppResponse\AppResponseServiceProvider" 

更新日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过youngmayor.dev@gmail.com发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。

Laravel包模板

此包是用Laravel包模板生成的。