datakrama/lapires

Lapires - Laravel API响应,将您的API服务器上的所有响应进行通用化

v2.1.0 2020-11-06 08:53 UTC

This package is auto-updated.

Last update: 2024-09-06 16:56:18 UTC


README

GitHub Workflow Status (branch) Packagist Version Packagist Downloads Packagist License

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)。请参阅 许可文件 获取更多信息。