Come funzionano le API REST

Come funzionano le API REST
Le API di riposo o riposante sono ovunque in questi giorni. Potresti averlo usato anche senza sapere nulla al riguardo. In questo articolo, parlerò delle API di riposo. Discuterò di come funzionano, le loro applicazioni e molti altri. Iniziamo.

Perché usare l'API REST:

Nelle applicazioni Web tradizionali, diciamo un semplice server Web PHP,

  • Richiedi una pagina (diciamo PHP) dal server.
  • Il server trova il file di script (PHP) corrispondente alla pagina richiesta e inizia a eseguirla. Lo script si collega al database, cerca le informazioni richieste, inserisce le informazioni nella pagina in modo ben formattato (miscelazione di HTML + CSS + JavaScript con i dati) che sembra molto attraente per il visitatore.
  • Quindi il server lo invia al visitatore.

In questo modello, tutta l'elaborazione viene eseguita sul lato server. Quindi il server deve fare più lavoro. Qui, i dati non sono separati dalla pagina, sono incorporati profondamente nella pagina.

Se in futuro, vuoi creare un'app Android o un'app iOS o un'app desktop del tuo sito Web, dovrai fare molto più lavoro. Dovrai connetterti al database direttamente da ciascuna di queste app, il che potrebbe non essere molto sicuro. Il tempo di sviluppo aumenterà e sorgeranno problemi di portabilità.

Supponiamo che tu abbia realizzato con successo app desktop, Android e iOS del tuo sito Web. Il nome completo dell'utente viene visualizzato in minuscolo in ciascuno di essi. Ora, vorresti mostrarlo in maiuscolo. Bene, gli sviluppatori devono modificare separatamente la versione desktop, Android e iOS della tua app per farlo. Che richiede tempo. Nel mondo reale, le cose non saranno così semplici come questa. Quindi, una versione dell'app (diciamo che la versione desktop) potrebbe avere un bug serio nel processo di aggiornamento. Filarlo più tardi richiederebbe più tempo. Riesci a vedere come aumenta il tempo di sviluppo? Anche questa soluzione non è portatile.

Nella API REST, chiedi al server API di cosa hai bisogno e ti invia solo le informazioni che chiedi, non viene eseguita alcuna formattazione aggiuntiva nel server. Non è necessario un elaborazione inutile nel server. Quindi, le prestazioni del tuo sito Web e delle app sono naturalmente migliorate. Inoltre, puoi utilizzare gli stessi dati nel tuo sito Web, app desktop, app Android e iOS. Le modifiche apportate ai server si rifletteranno nelle app che utilizzano l'API. Il tempo e il costo di sviluppo dell'app saranno anche ridotti.

Come funziona API REST:

Le API REST hanno endpoint. Un endpoint non è altro che un URL, ma in modo ben formattato ed è significativo. Utilizza le richieste HTTP native (come OTTENERE, INVIARE, METTERE, ELIMINARE ecc.) decidere cosa fare quando accedi a ciascun endpoint. Ne parlerò più tardi.

Il formato di output dell'API REST è JSON noto anche come notazione dell'oggetto JavaScript.

Un esempio dell'output di a OTTENERE Richiesta all'API REST /utenti/id/12 L'endpoint può sembrare come segue:


"id": 12,
"Nome": "David Smith",
"Age": 42,
"Telefoni": ["124-211-2341", "889-211-4545"],
"Paese": "Us"

Come puoi vedere, ho fatto un OTTENERE richiesta su /utenti/id/12 endpoint per dire all'API REST per darmi informazioni sull'utente che ha il id 12. Ho ottenuto solo le informazioni che ho richiesto, niente di più, niente di meno.

Ora diciamo, vuoi informazioni sugli ultimi 10 utenti che si sono registrati sul tuo sito Web. Puoi fare un OTTENERE richiesta su /utenti/ultimo/10 Endpoint.

Puoi aggiungere nuovi dati sul tuo server utilizzando anche l'API REST. Di solito, l'HTTP INVIARE La richiesta viene utilizzata per chiedere all'API REST di aggiungere nuovi dati al server API.

Ad esempio, puoi fare un INVIARE richiesta su /utenti Endpoint con i dati del nuovo utente e verrà aggiunto al database sul server API. Puoi anche configurare la tua API per restituire lo stato della richiesta.


"Ccode status": 400,
"StatusText": "Aggiunta correttamente l'utente.",
"dati":
"id": 13,
"Nome": "Mary Smith",
"Age": 35,
"Telefoni": ["124-211-2341", "889-211-4545"],
"Paese": "Us"

Come puoi vedere, il codice status E StatusText Proprietà dell'oggetto JSON Notifica il client API che l'utente viene aggiunto correttamente. I dati aggiunti vengono restituiti anche in dati Proprietà dell'oggetto JSON. Puoi configurare la tua API proprio come vuoi.

È possibile aggiornare anche un record esistente dal database del server API. IL METTERE La richiesta HTTP viene utilizzata su un endpoint API per aggiornare i dati esistenti sul database del server API.

Ad esempio, supponiamo che tu voglia aggiornare il numero di telefono dell'utente con l'ID 13. Puoi fare un METTERE Richiesta sull'endpoint API /utente/id/13.


"StatoCode": 200,
"StatusText": "Utente aggiornato.",
"Old_data":
"id": 13,
"Nome": "Mary Smith",
"Age": 35,
"Telefoni": ["124-211-2341", "889-211-4545"],
"Paese": "Us"
,
"new_data":
"id": 13,
"Nome": "Mary Smith",
"Age": 35,
"Telefoni": ["100-211-1111", "140-211-1145"],
"Paese": "Us"

Come puoi vedere, l'operazione di aggiornamento ha esito positivo. I vecchi dati e nuovi dati vengono restituiti in Old_data E new_data Proprietà dell'oggetto JSON rispettivamente.

È inoltre possibile eliminare i dati dal database del server API con HTTP ELIMINARE Richiesta sull'endpoint API.

Ad esempio, per eliminare l'utente con l'ID 12, è possibile fare un ELIMINARE Richiesta sull'endpoint API /utente/id/12.


"Ccode status": 150,
"StatusText": "Utente rimosso.",
"dati":
"id": 12,
"Nome": "David Smith",
"Age": 42,
"Telefoni": ["124-211-2341", "889-211-4545"],
"Paese": "Us"

Come puoi vedere, l'utente viene eliminato e i dati dell'utente eliminati vengono restituiti nel dati Proprietà dell'oggetto JSON.

Ho spiegato il modo standard di usare il OTTENERE, INVIARE, METTERE E ELIMINARE Richiesta HTTP sugli endpoint API per eseguire l'operazione CRUD (Crea, leggi, aggiorna ed elimina) utilizzando API REST. Ma puoi configurare la tua API per fare determinate cose su una certa richiesta HTTP. Niente è risolto qui. Ad esempio, è possibile aggiornare l'API utilizzando OTTENERE Richiesta HTTP. Non devi usare METTERE. Spetta al designer API.

Progetti anche gli endpoint API. Dare nomi significativi ai tuoi endpoint API rendono la tua API di riposo molto più facile da usare.

Applicazioni dell'API REST:

Le API rendono lo sviluppo delle app più semplice e modulare. Con l'aiuto dell'API REST, puoi facilmente portare la tua app su piattaforme diverse.

Tutto quello che devi fare è progettare e sviluppare un'API di riposo della tua applicazione. Quindi puoi utilizzare la tua API REST dal tuo sito Web, app Android, app iOS, app desktop Windows e app Linux ecc. In questo modo, tutte le tue app su una piattaforma diversa utilizzeranno la stessa logica e i tempi di sviluppo e il costo saranno ridotti. Anche le app saranno più facili da gestire. Le API di riposo sono usate rapidamente anche nelle applicazioni Web a pagina singola anche in questi giorni.

Ho scritto un articolo sulla scrittura di API REST usando Python. Grazie per aver letto questo articolo.