tomatophp / filament-api
Generate APIs from your filament resource using single line of code
Fund package maintenance!
3x1io
Installs: 1 416
Dependents: 1
Suggesters: 0
Security: 0
Stars: 18
Watchers: 1
Forks: 1
Open Issues: 3
Requires
- php: ^8.1|^8.2
- calebporzio/sushi: *
- filament/filament: ^3.0.0
- tomatophp/console-helpers: ^1.1
This package is auto-updated.
Last update: 2024-10-23 15:48:21 UTC
README
Resource API Generator
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
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 recordssupport 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