Resource API Generator plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Resource API Generator

Generate APIs from your Filament resource using single line of code

Tags: Developer Tool
Supported versions:
3.x
Fady Mondy avatar Author: Fady Mondy

Documentation

Screenshot

Latest Stable Version License Downloads

Generate APIs from your filament resource using single line of code

#Installation

make sure that you have SQLite3 Driver installed on your PHP config, because this package required it for caching.

composer require tomatophp/filament-api

if you want to use API Resource to list your generated APIs you can register the plugin on /app/Providers/Filament/AdminPanelProvider.php

->plugin(\TomatoPHP\FilamentApi\FilamentAPIPlugin::make())

#Screenshots

APIs Resource

#Usage

you can generate API by add this trait to your resource pages

use TomatoPHP\FilamentApi\Traits\InteractWithAPI;
use \Filament\Resources\Pages\ListRecords;

class ListPosts extends ListRecords
{
    use InteractWithAPI;
}

and that's it you can now access your API by /api/{slug}

we provide 5 methods:

  • GET /api/{slug} to list all records support searching by use search=
  • GET /api/{slug}/{id} to get single record
  • POST /api/{slug} to create new record
  • PUT /api/{slug}/{id} to update record
  • DELETE /api/{slug}/{id} to delete record

#Custom your API

you can customize your api by override this methods

// Use to return API JSON Resource on Index/Show/Store/Update
public static function getFilamentAPIResource(): ?string
{
    return null;
}

// Use To Custom Your Route Middleware
public static function getFilamentAPIMiddleware(): array
{
    return config('filament-api.default_middleware');
}

// Use To Change the Endpoint Slug
public static function getFilamentAPISlug(): ?string
{
    return null;
}

#Publish Assets

you can publish config file by use this command

php artisan vendor:publish --tag="filament-api-config"

#Other Filament Packages

checkout our Awesome TomatoPHP