Download the PHP package greelogix/api-response-formatter without Composer
On this page you can find all versions of the php package greelogix/api-response-formatter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package api-response-formatter
API Response Formatter
A Laravel package that standardizes API responses across projects with support for multiple formats (custom, jsend, json_api) and Laravel Resources.
Features
- ✅ Simple to use - Works out-of-the-box after installation
- ✅ Multiple formats - Support for custom, JSend, and JSON:API formats
- ✅ Laravel Resources - Automatic detection and formatting of Laravel API Resources
- ✅ Configurable - All options configurable via config file and environment variables
- ✅ Consistent structure - Provides consistent response structure across your API
- ✅ Default status codes - Configurable default status codes with per-call overrides
- ✅ Auto messages - Automatic message generation based on response type
- ✅ Pagination support - Automatic pagination metadata extraction and formatting
- ✅ Laravel 8, 9, 10, 11 - Full support for multiple Laravel versions
Installation
Install the package via Composer:
The package will automatically register its service provider.
Configuration
Publish the configuration file:
This will create config/gl-api-response-formatter.php with the following default configuration:
Environment Variables
All configuration values can be overridden using environment variables with the GL_API_RESPONSE_FORMATTER_* prefix:
Usage
Basic Usage
Using the Static Facade
Using the Trait in Controllers
Using the Exception
Laravel Resources Support
The package automatically detects and formats Laravel API Resources:
Pagination Support
The package automatically detects and formats paginated results:
This will automatically include pagination metadata in the response.
Response Formats
Custom Format (Default)
Success Response:
Collection Response:
Paginated Response:
Error Response:
JSend Format
To use JSend format, set format to jsend in your config:
Success Response:
Fail Response (4xx):
Error Response (5xx):
JSON:API Format
To use JSON:API format, set format to json_api in your config:
Success Response:
Error Response:
Status Codes
Default status codes are configured in the config file and can be overridden per response:
Messages
Auto Messages
When auto_messages is enabled (default), the package automatically generates messages based on response type:
- Single item →
message_single - Collection →
message_collection - Paginated →
message_paginated - Error →
message_error
Custom Messages
You can provide custom messages per response:
Disable Messages
To disable messages globally:
Or disable auto messages but allow manual messages:
Pagination
Pagination is automatically detected and formatted. To disable pagination metadata:
To change the pagination key:
Advanced Usage
Using ApiResponseManager Directly
Custom Formatter
You can create your own formatter by implementing FormatterInterface:
Testing
Requirements
- PHP >= 8.1
- Laravel >= 8.0
License
This package is open-sourced software licensed under the MIT license.
Support
For issues, questions, or contributions, please visit the GitHub repository.
Changelog
Please see CHANGELOG.md for more information on what has changed recently.
All versions of api-response-formatter with dependencies
illuminate/support Version ^8.0|^9.0|^10.0|^11.0
illuminate/http Version ^8.0|^9.0|^10.0|^11.0