imdhemy / jsonable
Laravel JSON response trait.
Installs: 222
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 2
Open Issues: 0
pkg:composer/imdhemy/jsonable
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2022-02-07 22:15:12 UTC
README
Laravel JSON response trait. This trait makes it easy for any controller to return a JSON response with the appropriate HTTP status code.
Installation
Via composer:
composer require imdhemy/jsonable
Usage
All that you need is to use the Jsonable trait inside your controller.
Example:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Imdhemy\Jsonable\Jsonable; class CountryController extends Controller { use Jsonable; public function index() { $data = \App\Country::get(); return $this->ok($data, 'countries'); } }
The previous code will return a JSON response like the following:
{
"countries": [
{
"name": "Egypt",
"capital": "Cairo",
},
...
]
}
The parent key is optional, you can ommit it:
$data = \App\Country::get(); return $this->ok($data);
The response will be like the following:
[
{
"name": "Egypt",
"capital": "Cairo",
},
...
]
Available methods
Success Methods
| Method | Status code | Description |
|---|---|---|
| ok | 200 | Successful get, patch (return a JSON object) |
| created | 201 | Successful post (return a JSON object) |
| noContent | 204 | Successful delete |
Error Status
| Method | Status code | Description |
|---|---|---|
| unauthorized | 401 | Not authenticated |
| invalid | 403 | Authenticated, but no permissions |
| notFound | 404 | Not Found |
| invalid | 422 | Validation |
Extra methods
| Method | Status code | Description |
|---|---|---|
| accepted | 202 | Successful post, delete, path - async |
| badRequest | 400 | The request could not be understood by the server due to malformed syntax |
| paymentRequired | 402 | Payment required |