Laravel API: come creare e testare un'API RESTful

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 azioniMetodi HTTP rappresentano le azioni

Azione di aggiornamento: PUT vs. POST

In merito alle API RESTful ci sono opinioni divergenti se aggiornare con POSTPATCH, 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 RFCPUT 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=12POST /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 serverLaravel 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

Post popolari in questo blog

Come impostare i giorni lavorativi in ​​Microsoft Project: calendario di progetto