eventhomes / laravel-fractalhelper
Compatible with Laravel 5+ and Lumen 5+.
Installs: 88 716
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 5
Forks: 0
Open Issues: 0
Requires
- php: ^7.2
- eventhomes/laravel-apicontroller: ^2.0
- league/fractal: ~0.13
README
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); }