vahid/respond

该包已废弃,不再维护。未建议替代包。

为Laravel和Lumen提供的简单JSON响应,用于处理RESTful API端点的实用包

v1.0.5 2021-10-28 11:45 UTC

README

Build Status Scrutinizer Code Quality Latest Stable Version Total Downloads License

Laravel Respond

此包提供用于Lumen和Laravel v5及以上框架,它提供了一种简洁的方法来处理带有特定预定消息的JSON响应。

要求

  • Laravel >=5.1
  • Lumen
  • PHP >=5.5

安装

通过Composer

转到您的项目路径,然后在您的终端中运行此代码

$ composer require vahid/respond

或者编辑您的composer.json来引入该包。

"require": {
    "vahid/respond": "^1.0"
}

然后,在您的终端中运行 composer update 以将其引入

配置

Laravel

您需要在您的 config/app.php 文件中的 providers 数组中添加服务提供者,如下所示

Vahid\Respond\RespondServiceProvider::class,

接下来,也在app.php配置文件中,在 aliases 数组下,您可能想要添加Respond门面。

'Respond' => Vahid\Respond\Facades\Respond::class,

Laravel 4

$ php artisan config:publish vahid/respond

Laravel 5

$ php artisan vendor:publish --provider="Vahid\Respond\Providers\RespondServiceProvider"

Lumen

添加到提供者中

您需要在 bootstrap/app.php 中的另一个 register service providers 旁边添加服务提供者,如下所示

$app->register(Vahid\Respond\RespondServiceProvider::class);

之后,您需要创建一个 helper 并添加 config_path 函数。

为Lumen创建config_path helper

在app/Helpers目录中创建一个名为GeneralHelpers.php的文件。将代码粘贴到其中。

<?php
if ( ! function_exists('config_path'))
{
   /**
    * Get the configuration path.
    *
    * @param  string $path
    * @return string
    */
   function config_path($path = '')
   {
       return app()->basePath() . '/config' . ($path ? '/' . $path : $path);
   }
}

转到composer.json并在autoload中添加文件,使其看起来像这样

"autoload": {
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "app/Helpers/GeneralHelpers.php"
    ]
},

运行composer dump-autoload以加载新创建的helper文件。

用法

您可以用不同的方式使用这些方法

有一些热门方法可以快速使用,除了提供的一些用于按您自己的方式管理输出的方法之外

以下是一些示例

当请求成功并包含要返回的结果数据时

Respond::succeed( $data );

当删除操作成功时

Respond::deleteSucceeded();

当更新成功时

Respond::updateSucceeded();

当插入成功时

Respond::insertSucceeded();

当删除操作失败时

Respond::deleteFailed();

当更新失败时

Respond::updateFailed();

当插入失败时

Respond::insertFailed();

未找到错误

Respond::notFound();

当数据库连接被拒绝时

Respond::connectionRefused();

当输入的参数错误时

Respond::wrongParameters();

当请求的方法不被允许时

Respond::methodNotAllowed();
Respond::requestFailedNotFound();

验证错误

Respond::validationErrors( $data );

注意:如果您使用Laravel FormRequest,为了防止迭代,我们建议在App\Http\Request.php中尝试此方法并重写Illuminate FormRequest的响应方法

定制

为方法设置自定义消息如下所示

Respond::notFound( 'Leave it empty or enter your custom message here' );

您可以做更多的事情

Respond::setStatusCode( 200 )->setStatusText( 'succeed' )->respondWithMessage( 'Your custom message' );

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件