xbld/laravel-api-response

There is no license information available for the latest version (dev-master) of this package.

Response for restful API

dev-master 2016-07-01 00:43 UTC

This package is not auto-updated.

Last update: 2025-01-18 21:30:30 UTC


README

For Restful API's

Laravel does a great job formatting our responses into JSON and kicking them out appropriatly with application/json content types, but it does not help with any type of standard output format such as having a "status", or "messages" in the response. This class allows us to standardize all of our restful responses making our frontend friends much happier. Also helps with unit testing by having a true/false for each response.

Feature List:

  • Standardized responses for all requests.
  • Ability to log debug messages to response for easier debugging
Install
$ composer require xbld/laravel-api-response
Setup

Open config\app.php and add this to the providers array:

XBLD\ApiResponse\ApiResponseServiceProvider::class,

Dont forget to dump the autoload

$ composer dump-autoload
Usage

This is intended to be used inside your controllers on a per method basis. Add the following to the top of your controller:

use XBLD\ApiResponse\APIResponse;

Example Method

public function store(Request $request)
{
	$return = new APIResponse();
    
    // If something fails on execution, Maybe a query does not
    // return anything...
    $return->status = false;
    $return->addMessage("Model Not Found");
    
    
    // Add the payload. Can be any array and will return JSON
    $return->payload = [
    	'foo'	=> 'bar',
        'bar'	=> true
    ];
    
    // Return the response.
    return $return->response();
}

Example Output:

{
	"status": false,
    "messages": [
    	"Model Not Found"
    ],
    "data": {
    	[
        	"foo": "bar",
            "bar": true
        ]
    },
    "completed_at": "2016-06-06 12:06:33"
}