myerscode/laravel-api-response

A fluent helper and facade to ensure consistent, idempotent API responses in Laravel and Lumen

11.0.0 2024-09-15 15:54 UTC

This package is auto-updated.

Last update: 2024-12-04 18:34:41 UTC


README

A fluent helper to provide a consistent shaped API responses in Laravel

Latest Stable Version Total Downloads License Tests codecov

Why is this package helpful?

This package ensures your API will always return the same envelope shape, so consuming apps always know what to expect!

Install

You can install this package via composer:

composer require myerscode/laravel-api-response

Usage

In a Laravel controller you just to build up your response and return it!

The api() helper return a Response Builder and as it implements the Responsable trait you dont need to do anything more than return the builder

Using the api() helper function

function resource()
{
    return api()->status(201)->data(['name' => 'Foo Bar'])->message('Record Created!');
}

Using a Builder class

function resource() {
    $buillder = new Builder();
    $builder->status(201)->data(['name' => 'Foo Bar'])->message('Record Created!');
    return $builder;
}

Would return the following JSON response.

{
    "status": 201,
    "data": {
        "name": "Foo Bar"
    },
    "meta": [],
    "messages": [
        "Record Created!"
    ]
}

License

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