anhzf/laravel-rest-api

Laravel RestfulAPI 管理工具

v1.0.0 2020-09-19 16:54 UTC

This package is auto-updated.

Last update: 2024-09-20 14:04:43 UTC


README

Laravel Rest API 管理工具

目录

功能

  • 优化你的 API 响应数据结构

安装

composer require anhzf/laravel-rest-api

API 响应 JSON 数据结构

{
  "success": true,
  "message": "your message here",
  "data": {
    "myData": "your data here..."
  },
  "errors": [
    "laravel", "automatically", "send", "exceptions", "here..."
  ]
}

用法

方法

添加消息 | APIResponse::message(string $message)

  use Anhzf\LaravelRestAPI\APIResponse;
  
  // end of some controller
  return APIResponse::message('[your message here]')->send();

添加数据 | APIResponse::data(array $data)

  use Anhzf\LaravelRestAPI\APIResponse;
  
  $myData = ['foo', 'bar', 'baz'];
  // end of some controller
  return APIResponse::data(compact('myData'))->send();

设置 HTTP 状态码 | APIResponse::statusCode(int $statusCode)

  use Anhzf\LaravelRestAPI\APIResponse;
  
  // end of some controller
  return APIResponse::statusCode(404)
        ->message('Didn\'t find matched user!')
        ->send();

发送错误响应 | APIResponse::error()

这将发送不包含 success 键的 JSON 响应

  use Anhzf\LaravelRestAPI\APIResponse;
  
  // end of some controller
  return APIResponse::error()
      ->statusCode(422)
      ->message('email field is required!')
      ->send();

发送响应快捷方式

在上面的方法中添加 Send 动词,它将以 send() 的方式发送响应

  use Anhzf\LaravelRestAPI;
  
  class APIResponse {
    public static sendMessage(string $message);
    public static sendData(array $data);
    public static sendStatusCode(int $statusCode, bool $success = true);
    public static sendError(string $message = null, int $statusCode = JsonResponse::HTTP_BAD_REQUEST);
  }

示例

  use Anhzf\LaravelRestAPI\APIResponse;
  
  return APIResponse::message('Fetched users data from database')
      ->sendData(compact('userData'));