athosbenther/laravelapiresponses

本包旨在帮助使用 Laravel | PHP 应用程序创建标准化的 JSON 响应。

0.2.3.1 2024-09-27 22:01 UTC

This package is auto-updated.

Last update: 2024-09-27 22:02:56 UTC


README

本包旨在帮助使用 Laravel | PHP 应用程序创建标准化的 JSON 响应。

示例响应结构

{
    "message": "User retrieved!",
    "data": {
        "Name": "Jhon Doe"
    },
    "status": {
        "code": 200,
        "message": "OK"
    },
    "meta": {
        "timestamp": "2024-09-21 14:36:24"
    }
}

安装

要求

  • PHP 8.3+

使用 composer 安装

composer require athosbenther/laravelapiresponses

用法

将特性 ApiResponses 添加到你的类中,并使用它来生成默认响应。或者直接创建一个新的 ApiResponse

返回类 ApiResponse 继承自 Symfony\Component\HttpFoundation\Response,并可以使用其函数进行进一步配置。

使用特性

<?php

use AthosBenther\LaravelApiResponses\Traits\ApiResponses;

class UserController
{
   use ApiResponses;

   public function getUser(Request $request, $id)
   {
       $user = User::find($id);

       return $this->Response(
           'User retrieved',
           $user,
           200
       );
   }

   public function addUser(AddUserRequest $request)
   {
       $user = new User($request->all());



       return $this->Response(
           'User created',
           $user,
           201
       );
   }
}

使用类

<?php

use AthosBenther\LaravelApiResponses\ApiResponse;

class UserController
{
   use ApiResponses;

   public function getUser(Request $request, $id)
   {
       $user = User::find($id);

       return new ApiResponse(
           'User retrieved',
           $user,
           200
       );
   }

   public function addUser(AddUserRequest $request)
   {
       $user = new User($request->all());



       return new ApiResponse(
           'User created',
           $user,
           201
       );
   }
}