laravel-fractalhelper maintained by eventhomes
Description
Compatible with Laravel 5+ and Lumen 5+.
Author
Last update
2020/01/28 11:33
(dev-master)
License
Downloads
88 743
Tags
Laravel 5 / Lumen 5 Fractal Api Controller
A simple api controller helper utilizing league fractal. You also get all the functionality provided by https://github.com/eventhomes/laravel-apicontroller
Installation
composer require eventhomes/laravel-fractalhelper
Basic Usage
By default, this helper will use ArraySerializer(), no setup required. You may, however, need to parse the GET includes.
...
use EventHomes\Api\FractalHelper;
class MyController extends Controller {
use FractalHelper;
public function __construct(Request $request)
{
$this->parseIncludes($request->get('includes', ''));
}
}
Customize Fractal
If you need to change the default ArraySerializer(), you can modify.
...
use EventHomes\Api\FractalHelper;
class MyController extends Controller {
use FractalHelper;
public function __construct(Manager $manager, Request $request)
{
$manager->setSerializer(new JsonApiSerializer);
$this->setFractal($manager)->parseIncludes($request->get('includes', ''));
}
}
Respond with item
public function show($id)
{
$user = User::find($id);
return $this->respondWithItem($user, new UserTransformer);
}
Respond with collection
public function index()
{
$users = User::all();
return $this->respondWithCollection($users, new UserTransformer);
}
Respond with collection, paginated
public function index()
{
$users = User::paginate(10);
return $this->respondWithCollection($users, new UserTransformer);
}