logo

Introduzione all'API REST

R rappresentativo S tate T ransfer (REST) ​​è uno stile architetturale che definisce un insieme di vincoli da utilizzare per la creazione di servizi web. API REST è una modalità di accesso ai servizi web in modo semplice e flessibile senza dover effettuare alcun trattamento.

API REST



La tecnologia REST è generalmente preferita alla più robusta tecnologia SOAP (Simple Object Access Protocol) perché REST utilizza meno larghezza di banda, è semplice e flessibile rendendola più adatta all'utilizzo di Internet. Viene utilizzato per recuperare o fornire alcune informazioni da un servizio web. Tutte le comunicazioni effettuate tramite API REST utilizzano solo la richiesta HTTP.

Lavorando: Una richiesta viene inviata dal client al server sotto forma di un URL Web come richiesta HTTP GET o POST o PUT o DELETE. Successivamente, una risposta ritorna dal server sotto forma di una risorsa che può essere qualsiasi cosa come HTML, XML, Immagine o JSON. Ma ora JSON è il formato più popolare utilizzato nei servizi Web.

Sviluppa la padronanza dell'API REST Impara a integrare le popolari e pratiche API REST Python nelle applicazioni web Django con il percorso di competenze interattivo di Educative Diventa un integratore API basato su Python. Iscriviti su Educative.io con il codice GEEKS10 per risparmiare il 10% sul tuo abbonamento.



In HTTP esistono cinque metodi comunemente utilizzati in un'architettura basata su REST, ovvero POST, GET, PUT, PATCH e DELETE. Corrispondono rispettivamente alle operazioni di creazione, lettura, aggiornamento ed eliminazione (o CRUD). Esistono altri metodi utilizzati meno frequentemente come OPZIONI e HEAD.

  • OTTENERE: Viene utilizzato il metodo HTTP GET Leggere (o recuperare) una rappresentazione di una risorsa. Nel percorso sicuro, GET restituisce una rappresentazione in XML o JSON e un codice di risposta HTTP pari a 200 (OK). In caso di errore, molto spesso restituisce un 404 (NON TROVATO) o 400 (RICHIESTA ERRATA).
  • INVIARE: Il verbo POST è più spesso utilizzato per creare nuove risorse. In particolare, viene utilizzato per creare risorse subordinate. Cioè, subordinato a qualche altra risorsa (ad esempio genitore). Una volta creata con successo, restituisci lo stato HTTP 201, restituendo un'intestazione Location con un collegamento alla risorsa appena creata con lo stato HTTP 201.

NOTA: POST non è né sicuro né idempotente.



  • METTERE: È usato per in aggiornamento le capacità. Tuttavia, è possibile utilizzare anche PUT creare una risorsa nel caso in cui l'ID della risorsa venga scelto dal client anziché dal server. In altre parole, se il PUT riguarda un URI che contiene il valore di un ID risorsa inesistente. In caso di aggiornamento riuscito, restituisci 200 (o 204 se non restituisce alcun contenuto nel corpo) da un PUT. Se utilizzi PUT per la creazione, restituisci lo stato HTTP 201 al termine della creazione. PUT non è un'operazione sicura ma è idempotente.
  • TOPPA: È abituato modificare capacità. La richiesta PATCH deve contenere solo le modifiche alla risorsa, non la risorsa completa. Questo assomiglia a PUT, ma il corpo contiene una serie di istruzioni che descrivono come modificare una risorsa attualmente residente sul server per produrre una nuova versione. Ciò significa che il corpo della PATCH non dovrebbe essere solo una parte modificata della risorsa, ma in una sorta di linguaggio patch come JSON Patch o XML Patch. PATCH non è né sicuro né idempotente.
  • ELIMINARE: È abituato eliminare una risorsa identificata da un URI. In caso di eliminazione riuscita, restituisci lo stato HTTP 200 (OK) insieme al corpo della risposta.

Idempotenza: Un metodo HTTP idempotente è un metodo HTTP che può essere chiamato più volte senza risultati diversi. Non importa se il metodo viene chiamato solo una volta o dieci volte. Il risultato dovrebbe essere lo stesso. Ancora una volta, questo si applica solo al risultato, non alla risorsa stessa.

Esempio:

C

Shilpa Shetty




1. a = 4>// It is Idempotence, as final value(a = 4)> >// would not change after executing it multiple> >// times.> 2. a++>// It is not Idempotence because the final value> >// will depend upon the number of times the> >// statement is executed.>

>

>

Richiesta e risposta

Ora vedremo come funzionano la richiesta e la risposta per diversi HTTP metodi. Supponiamo di avere un API( https://www.techcodeview.com ) per tutti gli studenti dati di gfg.

  • OTTENERE: Richiesta per tutti gli studenti.
Richiesta
OTTIENI:/api/students
  • INVIARE: Richiesta di pubblicazione/creazione/inserimento dati

Richiesta

POST:/api/studenti

{nome: Raj}

  • METTI o PATCH: Richiesta di aggiornamento dei dati all'id=1

Richiesta

PUT o PATCH:/api/students/1

{nome: Raj}

  • ELIMINARE: Richiesta di eliminazione dei dati di id=1
Richiesta
ELIMINA:/api/students/1

I servizi Web RESTful sono molto popolari perché sono leggeri, altamente scalabili e manutenibili e sono molto comunemente utilizzati per creare API per applicazioni basate sul Web.