Generate API Command
gen:api Command
For laravel 11 use php artisan install:api
command before this command.
read more on https://laravel.com/docs/11.x/routing#api-routes
Basic Usage
The CRUD Generator provides a single command, gen:api
, that you can use to generate API resources for a given model. Here's the basic syntax:
Replace {ModelName}
with the name of the model you want to generate CRUD resources for, and specify the fields for that model using the --fields
option.
For example, to generate API resources for a Post
model with fields name
(string), description
(text), and count
(integer), you would run:
Interactive Questions
During the CRUD generation process, the command-line tool will ask you a few interactive questions to customize the generated code according to your preferences. These questions are:
The first question asks if you want to add the generate files in a specific folder:
if you answer no
, it will generate crud the default way
If you answer yes
, it will prompt you to enter the folder name where you want to place the controllers:
Make sure Folder Name is in Capital Case ex:Admin
not admin
API Options
The CRUD Generator package provides two options for generating APIs: with or without a model and migration.
Generating API with Model and Migration
This option is necessary when you don't have an existing CRUD or model for the resource you want to create an API for. It allows you to generate the model, migration, and API routes/controllers in a single command.
Use this option when:
You're starting from scratch and need to create a new resource (model, migration, and API) from the ground up.
You don't have an existing CRUD or model for the resource you need an API for.
Generating API without Model and Migration
This option is useful when you already have an existing CRUD and model for the resource, and you only need to generate the API routes and controllers.
Use this option when:
You've already created a CRUD for the resource, and you want to add API functionality.
The model and migration for the resource already exist.
By providing these two options, the CRUD Generator package offers flexibility in generating APIs based on your project's requirements. If you're starting fresh, you can use the first option to generate everything you need in a single command. If you're working with an existing CRUD, you can use the second option to add API functionality without duplicating the model and migration.
Adding Soft-Deletes in API
To add this functionality simply append --softDelete
in gen command
Adding Relationships
To add this functionality simply add --relations="your code here"
in gen command
Example: To generate Profile API with relations (hasOne: Account, hasMany: Blogs and belongTo: User)
haso
hasOne
hasm
hasMany
belt
belongsTo
belm
belongsToMany
Note: you can use hasMany
, belongsTo
etc directly in --relations command if you feel comfortable and it currently only supports these 4 common relations type.
Delete API Command
When generating an API using the CRUD Generator package, pay attention to the following:
API Generation Folder
If you want to generate the API inside a specific folder, you'll be prompted with a "yes/no" question.
If you answer "yes", you'll be asked to provide the folder name in the next command.
Deleting the API
Be cautious when deleting the generated API, as it will also delete the associated Model.
If the Model is being used by an existing CRUD, deleting the API will cause issues with the CRUD functionality.
You need to delete migration and routes files manually !
Last updated