guanguans/laravel-api-response

Normalize and standardize Laravel API response data structure. - 规范化和标准化 Laravel API 响应数据结构。

Maintainers

👁 guanguans

Package info

github.com/guanguans/laravel-api-response

pkg:composer/guanguans/laravel-api-response

Fund package maintenance!

Sponsors

Statistics

Installs: 6 285

Dependents: 0

Suggesters: 0

Stars: 48

Open Issues: 0

4.0.1 2026-04-02 08:15 UTC

Requires

Requires (Dev)

Suggests

Provides

None

Conflicts

None

Replaces

None

MIT 8329037e39e40b04d811ae8600d9eab96a0a08ea

jsonrestdataapirestfulresponselaravelstructurenormalizestandardize


README

Normalize and standardize Laravel API response data structure. - 规范化和标准化 Laravel API 响应数据结构。

👁 tests
👁 php-cs-fixer
👁 codecov
👁 Latest Stable Version
👁 GitHub release (with filter)
👁 Total Downloads
👁 License

Features

  • Support for customized response data structure
  • Support for restful API response(optional)
  • Support for automatically handled api exception
  • Support for localized message
  • Support for customized pipe(Process api response structure through pipeline)
  • Support for customized exception pipe(Convert exception to api response through pipeline)

Requirement

  • PHP >= 8.2

Installation

composer require guanguans/laravel-api-response --ansi -v

Configuration

Publish files(optional)

php artisan vendor:publish --provider="Guanguans\\LaravelApiResponse\\ServiceProvider" --ansi -v

Usage

Quick start

<?php

namespace App\Http\Controllers\Api;

use Guanguans\LaravelApiResponse\Support\Traits\ApiResponseFactory;
use Illuminate\Http\JsonResponse;
use Symfony\Component\HttpKernel\Exception\HttpException;

class Controller extends \App\Http\Controllers\Controller
{
 use ApiResponseFactory;

 public function examples(): JsonResponse
 {
 // return $this->apiResponse()->error($message);
 // return $this->apiResponse()->badRequest($message);
 // return $this->apiResponse()->unauthorized($message);
 // return $this->apiResponse()->exception($exception);
 // throw new \RuntimeException('This is a runtime exception.');
 // throw new HttpException(400);
 // return $this->apiResponse()->success($data);
 // return $this->apiResponse()->noContent($message);
 // ...
 return $this->apiResponse()->ok();
 }
}

Default response structure(The following default response structure can be transformed through pipe)

{
 "status": "bool",
 "code": "int",
 "message": "string",
 "data": "mixed",
 "error": "array<string, mixed>"
}

Default response examples

FAQ

Composer scripts

composer checks:required
composer php-cs-fixer:fix
composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

Thanks

👁 Image

License

The MIT License (MIT). Please see License File for more information.