JSON:API compliant toolkit for building REST APIs with Laravel.
composer require bluebeetlept/api-toolkit:^1.0@devDefine 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 in the docs/ directory, powered by Mintlify.
composer test