0% found this document useful (0 votes)
38 views13 pages

Laravel 9 REST API CRUD Tutorial Example

Laravel est un framework php

Uploaded by

sokengjoys
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views13 pages

Laravel 9 REST API CRUD Tutorial Example

Laravel est un framework php

Uploaded by

sokengjoys
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

Laravel 9 REST API CRUD Tutorial


Example
Laravel saim ansari September 12, 2023

In this section we will see laravel 9 rest api crud app. For
this tutorial we will create simple but clean laravel api
crud using Request for validation, Resource for showing
important & clean data. we will create simple but clean
architecture laravel 9 api crud application.

Note: Before we will start you should have php 8.x version
in your system. Because laravel 9 support php 8 & above
php version.

Step 1: Install Laravel & Connect Database


Installing a fresh new laravel 9 application, so head over
to the terminal, type the command, and create a new
laravel app.

composer create-project laravel/laravel crud

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 1/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

Now, you have to connect the laravel app to the


database, hence open the .env configuration file and
add the database credentials as suggested below.

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=database_user_name
DB_PASSWORD=database_password

Step 2: Create Model Request and


Resource, Api Controller & route
Create Post Modal with migration

php artisan make:model Post -m

Create Post Request for validation

php artisan make:request StorePostRequest

Create Post Resource for show clean data

php artisan make:resource PostResource

Create Post Api controller

php artisan make:controller Api/PostController --mo

create_posts_table.php

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 2/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration


{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('posts', function (Blueprint
$table->id();
$table->string('title');
$table->text('description');
$table->timestamps();
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('posts');
}
};

app/Http/Models/Post.php

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 3/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFacto
use Illuminate\Database\Eloquent\Model;

class Post extends Model


{
use HasFactory;
protected $fillable = ['title', 'description'];
}

app/Http/Requests/StorePostRequest.php

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StorePostRequest extends FormRequest


{
/**
* Determine if the user is authorized to make
*
* @return bool
*/
public function authorize()
{
return false;
}

/**
* Get the validation rules that apply to the r
*
* @return array
*/
public function rules()
{
return [
'title' => ['required', 'max:70'],

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 4/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

'description' => ['required']


];
}
}

app/Http/Controllers/Api/PostController.php

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Requests\StorePostRequest;
use App\Http\Resources\PostResource;
use App\Models\Post;
use Illuminate\Http\Request;

class PostController extends Controller


{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$posts = Post::all();
return PostResource::collection($posts);
}

/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}

/**

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 5/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

* Store a newly created resource in storage.


*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(StorePostRequest $request
{
$posts = Post::create($request->all());

return new PostResource($posts);


}

/**
* Display the specified resource.
*
* @param \App\Models\Post $post
* @return \Illuminate\Http\Response
*/
public function show(Post $post)
{
//
}

/**
* Show the form for editing the specified reso
*
* @param \App\Models\Post $post
* @return \Illuminate\Http\Response
*/
public function edit(Post $post)
{
//
}

/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Post $post
* @return \Illuminate\Http\Response
*/
public function update(StorePostRequest $reques
{
$post->update($request->all());

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 6/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

return new PostResource($post);


}

/**
* Remove the specified resource from storage.
*
* @param \App\Models\Post $post
* @return \Illuminate\Http\Response
*/
public function destroy(Post $post)
{
$post->delete();

return response(null, 204);


}
}

routes/api.php

<?php

use App\Http\Controllers\Api\PostController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------
| API Routes
|--------------------------------------------------
|
| Here is where you can register API routes for you
| routes are loaded by the RouteServiceProvider wit
| is assigned the "api" middleware group. Enjoy bui
|
*/

Route::middleware('auth:sanctum')->get('/user', fun
return $request->user();
});

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 7/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

Route::apiResource('posts',PostController::class);

run app

php artisan serve

Step 3: Test CRUD App in Postman API

POST

http://localhost:8000/api/posts

GET

http://localhost:8000/api/posts

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 8/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

PUT

http://localhost:8000/api/posts/1

DELETE

http://localhost:8000/api/posts/1

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 9/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

Read Also
Laravel 9 Add Simple Sidebar with Tailwind CSS Example

How to Use Carousel Slider in Laravel 9 Example

Laravel 9 Posts with Tags Many to Many Relationships


Example

Laravel 9 Insert Category in Posts CRUD Example

How to Use Ckeditor 5 in Laravel 9 Vite with Tailwind CSS

Laravel 9 Simple Image Upload in Ckeditor 5 Example

Laravel 9 Flash Message Timeout and Hide Message


Example

Install & Setup Markdown Editor in Laravel 9

Nuxt 3 Data Fetching Using Laravel 9 Api Example

Laravel 9 Image Upload with Preview using Tailwind CSS


& Alpine JS

Laravel 9 with Tailwind CSS Form Validation Example

Laravel 9 Backend Api Connect with Vue 3 Using Axios


Example

Laravel 9 Authentication with Next js Example

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 10/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

Laravel 9 Sanctum Authentication with Nuxt JS Example

Laravel 9 Simple Search with Pagination Example

Laravel 9 Install Setup TALL(Tailwind, Alpinejs, Livewire)


Admin Panel

How to Fix and Clean Code Style in laravel 9

Laravel 9 Image File Upload Example

3 Way to Create Slug in Laravel 9 without Package

How to Add Dark Mode in Laravel 9 with Tailwind CSS

Tags: Laravel 9 Laravel Api

NEWSLETTER
Get updates right in your inbox. Join to get notified
with new tutorials
Enter email address

subscribe

Recent Blog

Create Cookie Consent Design UI Using Tailwind CSS

Tailwind CSS + Alpine.js Close Notifications Box

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 11/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example
How to Use background blur in Tailwind CSS

How to Use Font Border In Tailwind CSS

Catagories

React JS

Vue JS

Livewire

Tailwind CSS

Alpine Js

Free Tools

Pixel To Rem Converter Box Shadow Generator

The Larainfo website is dedicated to providing tutorials


on web languages and frameworks such as PHP, Laravel,
API, Livewire, Vue JS, React, and Tailwind CSS..

Quick Link

Home

Laravel

Tailwind CSS

Livewire

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 12/13
4/26/24, 8:16 PM Laravel 9 REST API CRUD Tutorial Example

Quick Link

About us

Disclaimer

Privacy Policy

Terms of use

Contact Us

https://larainfo.com/blogs/laravel-9-rest-api-crud-tutorial-example 13/13

You might also like