An open API service indexing awesome lists of open source software.

https://github.com/imdhemy/jsonable

Laravel JSON response trait.
https://github.com/imdhemy/jsonable

json json-api laravel laravel-package response

Last synced: 2 days ago
JSON representation

Laravel JSON response trait.

Awesome Lists containing this project

README

          

# Jsonable
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
ok($data, 'countries');
}
}
```

The previous code will return a JSON response like the following:

```json
{
"countries": [
{
"name": "Egypt",
"capital": "Cairo",
},
...
]
}
```

The parent key is optional, you can ommit it:

```php
$data = \App\Country::get();
return $this->ok($data);
```
The response will be like the following:

```json
[
{
"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|