RESTful API package

1.0.5 2016-03-09 09:56 UTC

This package is auto-updated.

Last update: 2024-10-16 03:53:22 UTC


README

Helpers to create an API for laravel 4.2

This module handle json and xml as response

Latest Stable Version Total Downloads License

##How to setup

update composer.json file:

{
    "require": {
        "devfactory/api": "1.0.*"
    }
}

and run composer update from terminal to download files.

update app.php file in app/config directory:

'providers' => array(
  'Devfactory\Api\ApiServiceProvider',
),
alias => array(
    'API'          => 'Devfactory\Api\Facades\ApiFacade',
),

##Configuration

 php artisan config:publish devfactory/api

##How to use api in your route

the param {format} are not mandatory

Route::group(array('prefix' => 'v1'), function()
{
    Route::get('foo.{format}', 'ApiV1\FooController@foo');
    Route::post('bar.{format}', 'ApiV1\FooController@bar');
});

Route::group(array('prefix' => '{format}/v1'), function()
{
    Route::get('foo', 'ApiV1\FooController@foo');
    Route::post('bar', 'ApiV1\FooController@bar');
});

In you controller you can use

  return Response::api(array("foo" => "bar"), 404);
  return Response::api(array("ok"));

or

  return API::createResponse(array("foo" => "bar"), 404);
  return API::createResponse(array("ok"));

##To call your service you can use the Facade

  API::get('v1/foo.json', array('foo' => 'bar'));
  API::post('v1/bar.xml', array('foo' => 'bar'));
  API::put('v1/bar.xml', array('foo' => 'bar'));