JSON:API compliant toolkit for building REST APIs with Laravel.
composer require bluebeetle/api-toolkitDefine a resource:
final class ProductResource extends Resource
{
protected string $model = Product::class;
public function attributes(Product $product): array
{
return [
'name' => $product->name,
'code' => $product->code,
];
}
}Use it in a controller:
final class ListController
{
public function __invoke(Request $request)
{
return QueryBuilder::for(Product::class, $request)
->fromResource(ProductResource::class)
->paginate();
}
}Full documentation is available at bluebeetle.pt/open-source/docs/api-toolkit.
composer testLicensed under the MIT license.