Laravel API: come creare e testare un'API RESTful
l framework Laravel consente di risparmiare tempo agli sviluppatori favorendo la convenzione rispetto alla configurazione.
Laravel mira a evolversi insieme al web, e incorpora rapidamente diverse funzionalità innovative, e idee del mondo dello sviluppo web.
Job queues, autenticazione Laravel API, comunicazione in tempo reale e molto altro.
Tempo di lettura stimato: 13 minuti
In questo tutorial vedremo come creare e testare una Laravel RESTful API solida utilizzando il framework Laravel con autenticazione.
Laravel RESTful API
REST sta per REpresentational State Transfer ed è uno stile architettonico per la comunicazione di rete tra applicazioni, che si basa su un protocollo stateless (solitamente HTTP) per l'interazione.
I verbi HTTP rappresentano le azioni
Nelle Laravel RESTful API, utilizziamo i verbi HTTP come azioni e gli endpoint sono le risorse su cui si agisce. Utilizzeremo i verbi HTTP per il loro significato semantico:
- GET: recuperare risorse
- POST: creare risorse
- PUT: aggiorna le risorse
- DELETE: elimina le risorse
Metodi HTTP rappresentano le azioni
Azione di aggiornamento: PUT vs. POST
In merito alle API RESTful ci sono opinioni divergenti se aggiornare con POST, PATCH, o PUT, o se sia meglio lasciare l'azione create al verbo PUT. In questo articolo utilizzeremo PUT per l'azione di aggiornamento, poiché secondo HTTP RFC, PUT significa creare/aggiornare una risorsa in una posizione specifica. Un altro requisito per il verbo PUT è l'idempotenza, che in questo caso significa sostanzialmente che puoi inviare quella richiesta 1, 2 o 1000 volte e il risultato sarà lo stesso: una risorsa aggiornata nel database.
Risorse
Le risorse saranno gli obiettivi delle azioni, nel nostro caso Items e Users, e avranno i propri endpoint:
- /items
- /users
In questo tutorial sulle API laravel, le risorse avranno una rappresentazione 1:1 nei nostri modelli di dati. È possibile avere risorse rappresentate in più di un modello dati (o non rappresentate affatto nel database) e modelli completamente non accessibili all'utente. Alla fine, sarai tu a decidere come progettare risorse e modelli in modo che si adattino alla tua applicazione.
Una nota sulla coerenza
Il vantaggio più grande derivante dall'utilizzo di una serie di convenzioni come REST è che la tua API sarà molto più semplice da utilizzare e sviluppare. Alcuni endpoint sono piuttosto semplici e, di conseguenza, la tua API sarà molto più facile da utilizzare e gestire rispetto ad endpoint come GET /get_item?id_item=12 e POST /delete_item?number=40.
Tuttavia, in alcuni casi sarà difficile eseguire il mapping a uno schema di creazione/recupero/aggiornamento/eliminazione. Ricorda che gli URL non devono contenere verbi e che le risorse non sono necessariamente righe di una tabella. Un'altra cosa da tenere presente è che non è necessario implementare ogni azione per ogni risorsa.
Impostazione progetto per servizio Web Laravel
Come con tutti i moderni framework PHP, avremo bisogno di Composer per installare e gestire le nostre dipendenze. Dopo aver seguito le istruzioni di download (e aver aggiunto la variabile d'ambiente al percorso), installiamo Laravel utilizzando il comando:
$ composer global require laravel/installer
Al termine dell'installazione, puoi creare una nuova applicazione come segue:
$ laravel new myapp
Per il comando precedente, devi avere ~/composer/vendor/bin nel tuo file $PATH. Se non vuoi occupartene, puoi anche creare un nuovo progetto utilizzando Composer, come segue:
$ composer create-project --prefer-dist laravel/laravel myapp
Con Laravel installato, dovresti essere in grado di avviare il server e verificare se tutto funziona:
$ php artisan serve
Laravel development server started:
Laravel installato
Quando apri
https://localhost:8000 nel browser, dovresti vedere questa pagina di esempio.
Migrations e Models
Prima di scrivere la nostra migration, dobbiamo assicurarci di avere un database creato per questa app e aggiungere le sue credenziali al nel file .env situato nella radice del progetto.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=warehoue
DB_USERNAME=warehoue
DB_PASSWORD=topsecret
Iniziamo con il nostro primo model e migration: l'item, che dovrebbe avere un campo nome e un campo per il prezzo, nonché una data di creazione. Laravel fornisce diversi comandi tramite Artisan, che ci aiuta a generare file inserendoli nelle cartelle corrette. Per creare il modello Item, possiamo eseguire:
$ php artisan make:model Item -m
L' opzione -m è l'abbreviazione di --migration e indica ad Artisan di crearne uno per il nostro modello. Ecco la migration generata:
Ercole Palmeri
#laravel #php #sitowebtutorial #Tutorial
https://bloginnovazione.it/laravel-api/47060/
Commenti
Posta un commento