Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Le API REST sono fondamentali nel mondo moderno delle applicazioni web e mobile. In questo tutorial, ti guiderò passo dopo passo su come creare un’API REST con Laravel, uno dei framework PHP più potenti e popolari, in meno di 30 minuti, dall’installazione al testing finale.
Prima di tutto, dobbiamo installare Laravel. Se non lo hai già fatto, ecco come procedere:
composer create-project --prefer-dist laravel/laravel api-tutorial
cd api-tutorial
php artisan serve
Ora che Laravel è installato, creiamo il nostro primo modello e la relativa migrazione. Questo ci permetterà di interagire con il database.
Post
con il comando:php artisan make:model Post -m
Il parametro -m
crea automaticamente anche una migrazione.
database/migrations/xxxx_xx_xx_create_posts_table.php
e modifica lo schema della tabella:Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
posts
nel database:php artisan migrate
Ora creiamo un controller per gestire le richieste API.
php artisan make:controller Api/PostController --resource
Questo comando crea un controller con le operazioni CRUD già pronte.
routes/api.php
, aggiungi la route per la risorsa Post:Route::apiResource('posts', App\Http\Controllers\Api\PostController::class);
Nel controller PostController
, possiamo ora implementare le funzioni per creare, leggere, aggiornare e cancellare i post.
app/Http/Controllers/Api/PostController.php
e modifica le funzioni così:use App\Models\Post;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function index()
{
return Post::all();
}
public function store(Request $request)
{
$post = Post::create($request->all());
return response()->json($post, 201);
}
public function show($id)
{
return Post::findOrFail($id);
}
public function update(Request $request, $id)
{
$post = Post::findOrFail($id);
$post->update($request->all());
return response()->json($post, 200);
}
public function destroy($id)
{
Post::destroy($id);
return response()->json(null, 204);
}
}
fillable
al modello Post
per permettere l’assegnazione di massa:protected $fillable = ['title', 'content'];
Per testare l’API, puoi usare uno strumento come Postman o inviare richieste via cURL.
GET: Ottieni tutti i post
GET http://localhost:8000/api/posts
POST: Crea un nuovo post
POST http://localhost:8000/api/posts
Content-Type: application/json
{
"title": "Titolo di esempio",
"content": "Contenuto di esempio"
}
PUT: Aggiorna un post esistente
PUT http://localhost:8000/api/posts/1
Content-Type: application/json
{
"title": "Titolo aggiornato",
"content": "Contenuto aggiornato"
}
DELETE: Elimina un post
DELETE http://localhost:8000/api/posts/1
In meno di 30 minuti, abbiamo creato un’API REST funzionante utilizzando Laravel. Hai visto come è semplice implementare tutte le operazioni CRUD e testare le chiamate API. Laravel rende tutto estremamente intuitivo e ti permette di concentrarti sulle funzionalità del tuo progetto.
Hai domande o vuoi aggiungere qualche funzionalità extra? Lascia un commento qui sotto!