Programmazione Web

Come funzionano le API di riposo?

Come funzionano le API di riposo?
Le API REST o RESTful sono ovunque in questi giorni. Potresti averlo usato anche senza saperlo.  In questo articolo parlerò delle API REST. Discuterò come funzionano, le loro applicazioni e molto altro. Iniziamo.

Perché UTILIZZARE REST API:

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

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 vorrai creare un'app Android o un'app iOS o un'app desktop del tuo sito web, dovrai lavorare molto di più. Dovrai connetterti al database direttamente da ciascuna di queste app, che potrebbero non essere molto sicure. Il tempo di sviluppo aumenterà e sorgeranno problemi di portabilità.

Supponiamo che tu abbia creato 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 la versione desktop) potrebbe avere un grave bug nel processo di aggiornamento. Ripararlo in seguito richiederebbe più tempo. Riesci a vedere come aumenta il tempo di sviluppo?? Anche questa soluzione non è portatile.

Nell'API REST, chiedi al server API ciò di cui hai bisogno e ti invia solo le informazioni che chiedi, nessuna formattazione aggiuntiva viene eseguita nel server. Non sono necessarie elaborazioni non necessarie nel server. Quindi, le prestazioni del tuo sito Web e delle tue 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. Anche i tempi e i costi di sviluppo dell'app saranno ridotti.

Come funziona l'API REST:

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

Il formato di output dell'API REST è JSON noto anche come JavaScript Object Notation.

Un esempio dell'output di a OTTENERE richiesta all'API REST su /utenti/id/12 l'endpoint può apparire come segue:


"id": 12,
"nome": "David Smith",
"età": 42,
"telefoni": ["124-211-2341", "889-211-4545"],
"paese": "USA"

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

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

Puoi aggiungere nuovi dati sul tuo server anche usando l'API REST. Di solito, l'HTTP INVIARE 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 tuo server API. Puoi anche configurare la tua API per restituire lo stato della richiesta.


"codice di stato": 400,
"statusText": "Utente aggiunto con successo.",
"dati":
"id": 13,
"nome": "Mary Smith",
"età": 35,
"telefoni": ["124-211-2341", "889-211-4545"],
"paese": "USA"

Come puoi vedere, il statoCodice e statusText proprietà dell'oggetto JSON notifica al client API che l'utente è stato aggiunto con successo. I dati aggiunti vengono restituiti anche nel dati proprietà dell'oggetto JSON. Puoi configurare la tua API nel modo che preferisci.

Puoi anche aggiornare 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.


"codice di stato": 200,
"statusText": "Utente aggiornato.",
"old_data":
"id": 13,
"nome": "Mary Smith",
"età": 35,
"telefoni": ["124-211-2341", "889-211-4545"],
"paese": "USA"
,
"new_data":
"id": 13,
"nome": "Mary Smith",
"età": 35,
"telefoni": ["100-211-1111", "140-211-1145"],
"paese": "USA"

Come puoi vedere, l'operazione di aggiornamento è andata a buon fine. I vecchi dati e i nuovi dati vengono restituiti nel old_data e nuovi_dati proprietà dell'oggetto JSON rispettivamente.

Puoi anche eliminare i dati dal database del server API con l'HTTP ELIMINA richiesta sull'endpoint API.

Ad esempio, per eliminare l'utente con l'id 12, puoi fare a ELIMINA richiesta sull'endpoint API /utente/id/12.


"codice di stato": 150,
"statusText": "Utente rimosso.",
"dati":
"id": 12,
"nome": "David Smith",
"età": 42,
"telefoni": ["124-211-2341", "889-211-4545"],
"paese": "USA"

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

Ho spiegato il modo standard di usare il OTTENERE, INVIARE, METTERE e ELIMINA Richiesta HTTP sugli endpoint API per eseguire l'operazione CRUD (Crea, Leggi, Aggiorna ed Elimina) utilizzando l'API REST. Ma puoi configurare la tua API per fare determinate cose su determinate richieste HTTP. Qui non c'è niente di fisso. Ad esempio, puoi aggiornare l'API usando OTTENERE Richiesta HTTP. Non devi usare METTERE. Sta al progettista dell'API.

Progetta anche gli endpoint API. Dare nomi significativi ai tuoi endpoint API rende la tua API REST molto più facile da usare.

Applicazioni dell'API REST:

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

Tutto quello che devi fare è progettare e sviluppare un'API REST 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 piattaforme diverse utilizzeranno la stessa logica e i tempi e i costi di sviluppo saranno ridotti. Anche le app saranno più facili da gestire. Le API REST vengono utilizzate rapidamente anche nelle applicazioni Web a pagina singola in questi giorni.

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

I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...