okriiza/laravel-api-response-formatter

一个简单的包,用于在整个Laravel应用程序中格式化API响应

v1.2.0 2023-09-12 14:13 UTC

This package is auto-updated.

Last update: 2024-09-12 16:59:57 UTC


README

Latest Version on Packagist Total Downloads License: MIT

Laravel API响应格式化工具

Laravel API响应格式化工具是一个类,提供方法以标准化的格式格式化API响应。它简化了在API中创建一致和结构良好的JSON响应的过程。

要求

  • PHP ^7.4 | ^8.0
  • Laravel 6, 7, 8, 9或10

安装

您可以通过composer安装此包

composer require okriiza/laravel-api-response-formatter

包将自动注册自己。

函数列表

Laravel API响应格式化工具类提供了以下函数

参数

Laravel API响应格式化工具类中的函数接受以下参数

  • $data (可选): 要包含在响应中的数据。可以是任何类型。
  • $message (可选): 要包含在响应中的消息。如果不提供,将使用默认消息。
  • $status (可选): 响应的成功状态。对于成功响应默认为true,对于错误响应默认为false
  • $httpCode (可选): 要返回的HTTP响应代码。默认为对应响应类型的HTTP状态代码。

示例用法

以下是如何在用户控制器中使用Laravel API响应格式化工具类的示例

<?php

use Okriiza\ApiResponseFormatter\ApiResponse;

class UserController extends Controller
{
    public function show($id): JsonResponse
    {
        $user = User::find($id);

        if ($user) {
            return ApiResponse::success($user);
        } else {
            return ApiResponse::notFound(null, 'User not found');
        }
    }

    public function create(Request $request): JsonResponse
    {
        // Validation logic

        if ($validationFails) {
            return ApiResponse::failedValidation($validationErrors);
        }

        $user = User::create($request->all());

        return ApiResponse::created($user);
    }
}

在上面的示例中,show()方法通过ID获取用户并返回成功响应(如果用户存在)。如果用户不存在,则返回未找到响应。create()方法执行验证并创建新用户。如果验证失败,则返回失败验证响应。否则,它返回带有创建用户的创建响应。

{
  "meta": {
    "code": 200,
    "success": true,
    "message": "OK"
  },
  "result": {
    "id": 1,
    "name": "John Doe",
    "email": "john@example.com"
  }
}

对于错误情况

{
  "meta": {
    "code": 404,
    "success": false,
    "message": "User not found"
  },
  "result": null
}

meta对象包含有关响应的信息,例如响应代码、状态和消息。result对象包含实际响应数据。

注意:提供的示例已简化,可能需要修改以适应您的特定用例

贡献

有关详细信息,请参阅CONTRIBUTING

安全

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

致谢

此包由Rendi Okriza创建。

许可证

Laravel API响应格式化工具包是开源软件,许可协议为MIT许可证