NOTE: Laravel 5 is still in development but there is a working branch which support it - dev-L5. Feel free to check the code and contribute.
Beautiful and easy to use API responses. It uses League/Fractal as a default provider.
Add Larasponse to your composer.json file:
"require": {
"sorskod/larasponse": "~1.0"
}
and run composer update sorskod/larasponse
Register the service provider within the providers
array found in app/config/app.php
:
'providers' => array(
// ...
'Sorskod\Larasponse\LarasponseServiceProvider'
)
Here is various examples in single controller:
use Sorskod\Larasponse\Larasponse;
class UserController extends BaseController
{
protected $response;
public function __construct(Larasponse $response)
{
$this->response = $response;
// The Fractal parseIncludes() is available to use here
$this->response->parseIncludes(Input::get('includes'));
}
public function index()
{
return $this->response->paginatedCollection(User::paginate());
}
public function show($id)
{
return $this->response->item(User::find($id), new UserTransformer());
}
public function collection()
{
return $this->response->collection(User::all(), new UserTransformer(), 'users');
}
}
- Using Fractal with Laravel to create an API by @mabasic