kolirt/laravel-api-response

该包可以帮助生成 JSON 响应。

3.0.0 2024-08-12 13:22 UTC

This package is auto-updated.

Last update: 2024-09-08 09:01:25 UTC


README

受telegram api响应启发的Laravel项目API响应统一

结构

Buy Me A Coffee

入门

需求

  • PHP >= 8.1
  • Laravel >= 10

对于Laravel或PHP的较低版本,请使用 v2

安装

composer require kolirt/laravel-api-response

使用

示例

错误响应

return api()
        ->error()
        ->setCode(400) // default code 400

        ->setDescription(['Description #1', 'Description #2'])
        // or
        ->setDescription('Description')
        
        ->setData(['Data #1', 'Data #2'])
        // or
        ->setData('Data')
        
        ->render();
[
    'ok' => false,
    'error_code' => 400,
    
    'description' => ['Description #1', 'Description #2'],
    // or
    'description' => 'Description',
    
    'result' => ['Data #1', 'Data #2'],
    // or
    'result' => 'Data',
]

成功响应

return api()
        ->success()
        ->setCode(200) // default code 200

        ->setDescription(['Description #1', 'Description #2'])
        // or
        ->setDescription('Description #1')
        
        ->setData(['Data #1', 'Data #2'])
        // or
        ->setData('Data')
        
        ->render();
[
    'ok' => true,
    
    'description' => ['Description #1', 'Description #2'],
    // or
    'description' => 'Description',
    
    'result' => ['Data #1', 'Data #2'],
    // or
    'result' => 'Data',
]

方法

error

标记响应为错误

return api()->error();

success

标记响应为成功

return api()->success();

setCode

设置特定的代码到响应。可用 代码

return api()->setCode($code);

setDescription

向响应添加描述

return api()->setDescription(['Description #1', 'Description #2']);
// or
return api()->setDescription('Description');

setErrors

向响应添加错误

return api()->setErrors([
    'first_name' => 'Error message', 
    'last_name' => ['Error message 1', 'Error message 2']
]);

abort

带错误终止响应

return api()->abort('Error message', 400);

cookie

向响应添加cookie

return api()->cookie(cookie('token', 'asdsadsadas', 60 * 3));

setData

向响应添加数据

return api()->setData(['Data #1', 'Data #2']);
// or
return api()->setData('Data');

render

渲染响应

return api()->render();

常见问题解答

查看已关闭的 问题 以获取最常问问题的答案

许可协议

MIT

其他包

查看我GitHub个人资料上的其他包 GitHub profile