PHPackages                             omalizadeh/laravel-api-response - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. omalizadeh/laravel-api-response

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

omalizadeh/laravel-api-response
===============================

Basic and standard api response format for laravel using json resources

v1.3.0(1y ago)41.5k2MITPHPPHP ^8.1CI passing

Since Oct 14Pushed 1y ago1 watchersCompare

[ Source](https://github.com/omalizadeh/laravel-api-response)[ Packagist](https://packagist.org/packages/omalizadeh/laravel-api-response)[ Docs](https://github.com/omalizadeh/laravel-api-response)[ RSS](/packages/omalizadeh-laravel-api-response/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (7)Used By (0)

Laravel Api Response
====================

[](#laravel-api-response)

Basic and standard api response format for laravel using json resources.

Installation
------------

[](#installation)

```
composer require omalizadeh/laravel-api-response
```

Output Format
-------------

[](#output-format)

Resources:

```
{
    "data": {
        "id": 1,
        "email": "test@test.com"
    },
    "message": "message",
    "errors": {
        "password": [
            "wrong password."
        ]
    }
}
```

ResourceCollection:

```
{
    "data": {
        "items": [],
        "count": 0,
        "sum": null
    },
    "message": null,
    "errors": null
}
```

On validation error for requests (with 422 status code):

```
{
    "data": null,
    "message": "first error message in message bag",
    "error": {
        "password": [
            "password field is required."
        ]
    }
}
```

Usage
-----

[](#usage)

Create resources and requests with artisan commands and pass data, message or count to resources like following examples:

```
    public function index(EmailFilter $filters)
    {
        $emailsFilterResult = Email::filter($filters);

        return EmailResource::collection([
            'data' => $emailsFilterResult->data(),
            'count' => $emailsFilterResult->count(),
        ]);
    }
```

```
    public function show(Email $email)
    {
        return new EmailResource(['data' => $email, 'message'=> 'email info.']);
    }
```

You can specify output fields from transformDataItem() method of resource classes.

```
