rest api tutorial rest api architecture
In questo tutorial, impareremo a conoscere l'API REST, i servizi Web, l'architettura dell'API REST, i vincoli dell'API REST e come testare un'API utilizzando POSTMAN:
Prerequisiti: Conoscenza di base dei servizi Web.
Dai un'occhiata Qui per avere una chiara comprensione dei servizi web.
Cosa imparerai:
Cos'è l'API REST?
L'API è semplicemente un'interfaccia, che viene utilizzata dai componenti software per comunicare tra loro. Un servizio è una funzione ben definita, autonoma e non dipendente da altri servizi.
Un servizio Web è un tipo di API, quasi tutte operano su HTTP. Quando un'API Web viene sviluppata utilizzando l'architettura REST, viene chiamata API Web REST.
Al momento, ci sono due tipi di servizi Web,
- SAPONE
- RIPOSO
Differenza tra SOAP e REST
SAPONE | RIPOSO |
---|---|
Possiamo usare solo il formato XML per inviare i dati nel corpo della richiesta | Possiamo avere il formato XML, JSON, ecc. Per l'invio della richiesta. |
È un protocollo | È uno stile di architettura e indipendente da qualsiasi protocollo, REST può utilizzare i servizi Web SOAP |
È l'acronimo di Simple Object Access Protocol | È l'acronimo di Representational State Transfer |
Utilizza interfacce di servizio per esporre la logica aziendale. | Utilizza l'URI per esporre la logica aziendale. |
SOAP ha uno standard rigoroso da seguire. | Non esiste uno standard così rigoroso menzionato, che deve essere seguito da REST. Tuttavia, l'utente può seguire pochi standard durante lo sviluppo del servizio Web utilizzando REST. |
Richiede più larghezza di banda. | È leggero. |
Può definire la propria sicurezza. | REST eredita le misure di sicurezza dal trasporto. |
Il miglior esempio è Google, AMAZON | Il miglior esempio è YAHOO, LINKEDIN, AMAZON |
SOAP utilizza il protocollo HTTP, SMTP ecc | REST si basa solo su HTTP. |
Le regole per l'associazione di messaggi, operazioni e così via sono scritte in WSDL | REST segue il formato WADL per descrivere le funzionalità offerte dai servizi web |
È standardizzato. | I servizi REST non sono standardizzati. |
Richiede più tempo di apprendimento a causa delle sue regole esistenti, vincolanti ecc. | Richiede meno tempo per imparare a causa della sua semplicità. |
Perché scegliere REST su SOAP?
I punti seguenti spiegano i motivi per optare per REST rispetto a SOAP.
- È molto utile per sviluppare e testare le API Web.
- REST richiede meno larghezza di banda.
- Possiamo usare AJAX per le API Web basate su REST.
- Richiede un minore overhead di analisi.
- La dimensione del payload creata da JSON è di dimensioni inferiori.
Ci sono molti client / strumenti disponibili sul Web, che ci consentono di utilizzare i servizi Web RESTful.
Sono:
- Postino
- Advanced Rest Client
- Cliente DHC Rest
- Richiedente
- Insonnia
- Assertible
- Manifesto
Perché postino?
- Visualizza tutte le opzioni disponibili.
- Postman ha una funzionalità aggiuntiva (nota come Runner).
- Interfaccia utente intuitiva e facile da usare.
- Gruppo / membri della comunità più grandi.
Architettura API REST
È principalmente l'architettura del Web in uno stile architettonico software. È per sistemi ipermediali distribuiti. Un'API RESTful sfrutta direttamente le metodologie HTTP definite dal protocollo RFC 2616.
Poche definizioni
FUOCO è l'acronimo di Application Programming Interface. È un insieme di definizioni di subroutine, protocolli e strumenti per la creazione del software applicativo.
Servizi web sono alcuni codici di programma che contengono dati / metodi integrati. Questi vengono distribuiti dall'organizzazione su Internet per comunicare con utenti, applicazioni di terze parti, ecc. Per la comunicazione dei messaggi, viene utilizzato principalmente XML come sistema di messaggistica. XML codifica semplicemente tutte le comunicazioni tra utenti e applicazioni.
HTTP significa Hypertext Transfer Protocol, utilizzato dal World Wide Web. Definisce il modo in cui i messaggi vengono formattati e trasmessi e quali azioni intraprendono i server Web ei browser in risposta ai vari comandi.
Stile architettonico, queste si caratterizzano per le caratteristiche che servono a creare una struttura e addirittura a renderla unica. Gli stili sono di due tipi: interfaccia a strati e uniforme.
ODIARE : Noto anche come Uniform Resource Identifier. Identifica una risorsa (documento di testo, file immagine, ecc.).
URL: Noto anche come Uniform Resource Locator. È un sottoinsieme degli URI, che include un percorso di rete.
URNA : Noto anche come Uniform Resource Name è un sottoinsieme di URI, che include un nome all'interno di un determinato spazio, ma nessuna posizione.
Per esempio,
http://elearning.com/amazon/restapi.html#books
Qui, nell'esempio sopra
ODIARE : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URNA : elearning.com/amazon/restapi.html#posts
quanto puoi guadagnare con i test di utilizzo
Quindi un URL è un URI che identifica una risorsa e fornisce anche i mezzi per localizzare la risorsa descrivendo il modo per accedervi.
Quindi ogni URL può essere un URI ma non è vero il contrario.
Un servizio RESTful viene esposto tramite un URL (Uniform Resource Locator). Questo è un nome logico che separa l'identità della risorsa da ciò che viene accettato o restituito.
Un'architettura REST di esempio:
Vincoli dell'API REST
Un'interfaccia API si dice che sia RESTful se soddisfa i seguenti vincoli:
- Interfaccia uniforme: Significa che, indipendentemente dal client che stiamo utilizzando, il concetto di base di implementazione e utilizzo dei servizi REST rimarrà lo stesso. Tutte le API REST sviluppate dovrebbero avere un approccio comune allo sviluppo.
- Apolidi: Ciò significa che nessuna sessione deve essere memorizzata. Pertanto, il server non memorizzerà alcuna richiesta HTTP inviata da un client. Quindi per un server, ogni richiesta HTTP è una nuova richiesta. Non importa quante volte viene fatta la richiesta o il cliente è unico oppure no.
- Memorizzabile nella cache: La memorizzazione nella cache indica la frequenza con cui si accede ai dati e alle risposte da una cache anziché dal server. Il concetto di memorizzazione nella cache è applicabile durante l'invio della richiesta del client. Quindi il miglioramento delle prestazioni viene effettuato sul lato client.
- Client-Server: Server e client sono indipendenti l'uno dall'altro in termini di implementazione. Un client deve solo inviare l'URI della richiesta insieme o senza autenticazione. Quindi il server esegue il resto del passaggio, ovvero una risposta.
- Sistema a strati: Il client può inviare solo la richiesta al server come URI della risorsa. Ma poi, prima che la richiesta venga inviata al server, esiste l'API REST, che ci fornisce l'architettura di sistema a più livelli. Ciò significa che possiamo avere API distribuite in un server, i dati vengono distribuiti in un altro server e l'autenticazione in un altro server.
- Codice su richiesta (opzionale): A volte un cliente può aver bisogno di qualcosa di più della semplice risposta. L'API REST ci consente di inviare un codice eseguibile come risposta (questo codice eseguibile può essere un widget o qualsiasi controllo). Tuttavia, è completamente facoltativo se abbiamo abilitato / implementato questa funzione.
Poche altre terminologie relative all'API Rest:
Endpoint : È il riferimento a un URL che accetta richieste web. Un servizio Web è indirizzabile utilizzando il riferimento endpoint.
Per esempio, Http: // {Domain_URL} //librarygr/libraries.xml
Risorse : È un sottoinsieme dell'Endpoint. Normalmente gli endpoint espongono alcuni oggetti che possono essere consumati tramite i servizi web. Le risorse sono specificamente quella parte di un oggetto sull'URI dell'endpoint.
Per esempio, Http: // {Domain_URL} // api / pg_library / ornithology / swan
Carico utile : Payload è l'informazione che viene inviata durante l'esecuzione di un'operazione POST o PUT. Queste sono le informazioni specificate nel corpo della richiesta HTTP.
I payload vengono inviati in formato JSON, Per esempio,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
Parametri :
Possiamo passare i parametri in due modi.
Parametri di query : Utile per accedere alle coppie chiave / valore nella stringa di query dell'URL (la parte dopo?)
Il miglior esempio
http://jsonplaceholder.typicode.com/posts/?id=3
Parametri del percorso: È utile abbinare una parte dell'URL come parametro. Possiamo inviare informazioni come parametro di percorso nel modo seguente: Form-data, x-www-form-urlencoded, raw, binary.
Miglior esempio:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
come creare un nuovo elenco in java
Cos'è POSTMAN?
POSTMAN è un client REST, semplicemente un'app fornita con il browser Chrome. È in fase di sviluppo, tenendo presente gli sviluppatori per rendere più semplice il test delle chiamate API. Ha una propria GUI per inviare le richieste API e leggere le risposte API.
Possiamo eseguire il test dell'API REST sia manualmente che per automazione.
Nella sezione seguente, impareremo come testare manualmente l'API Web utilizzando il client POSTMAN.
Come testare l'API con Postman?
Installazione
Dobbiamo accedere al file Il negozio online di Chrome . Nel browser Chrome cerca Postman. Clic Qui per aggiungerlo al pulsante Chrome.
Una volta installato con successo, possiamo trovare POSTMAN nell'app Chrome. Basta fare clic sull'icona del postino per aprire POSTMAN. Ci vorrà del tempo per lanciarlo per la prima volta.
Fare riferimento al seguente URL per capire come utilizzare POSTINO come strumento.
Prerequisiti: La connessione a Internet è necessaria per accedere ai servizi distribuiti sul Web. In caso di accesso ai servizi distribuiti localmente, assicurarsi che i diritti sufficienti, i privilegi siano dati all'utente che sta eseguendo il test su POSTMAN.
URI risorsa fittizia: In questo tutorial, useremo un URI fittizio invece di un URI reale. Ci darà le risposte desiderate ma non sarà possibile apportare modifiche al server.
http://jsonplaceholder.typicode.com
Passaggi di navigazione :
# 1) Una volta avviata l'app POSTMAN, possiamo vedere la pagina di richiesta per impostazione predefinita.
#Due) Possiamo vedere l'elenco delle chiamate API facendo clic sul menu a discesa. Selezionando una qualsiasi delle opzioni dal menu a discesa, possiamo richiedere la chiamata API al server.
# 3) Fare clic sul pulsante Variabile d'ambiente nell'angolo in alto a destra di un POSTMAN. Imposta l'ambiente specifico, dove testeremo. Possiamo salvarlo per l'esecuzione futura.
# 4) L'ambiente salvato può essere accessibile dal menu a discesa Ambiente.
# 5) Successivamente, dobbiamo impostare l'URI della risorsa nella casella data.
# 6) Fare clic sul pulsante Parametri accanto al campo URI risorsa per specificare i parametri della query
# 7) Fare clic sulla scheda Autorizzazione, selezionare il tipo di autorizzazione dal menu a discesa e impostare qualsiasi autorizzazione desiderata o, semplicemente, lasciarla come Nessuna autorizzazione.
# 8) Fare clic sulla scheda Intestazioni e impostare le intestazioni richieste come tipo di contenuto
# 9) Fare clic sulla scheda Corpo, selezionare il pulsante di opzione dati del modulo. Specificare i parametri del corpo richiesti che devono essere inviati insieme all'URL della richiesta
# 10) Fare clic sulla scheda Corpo, selezionare il pulsante di opzione x-www-form-urlencoded. Specifica i parametri del corpo richiesti che devono essere inviati come codificati, insieme all'URL della richiesta
#undici) Fai clic sulla scheda Corpo, seleziona il pulsante di opzione 'grezzo'. Specificare i parametri del corpo richiesti che devono essere inviati insieme all'URL della richiesta. Questo è nel formato JSON effettivo
# 12) Fare clic sulla scheda Corpo, selezionare il pulsante di opzione 'binario'. Specificare i parametri del corpo richiesti (normalmente come file) che devono essere inviati insieme all'URL della richiesta.
c'è vr per xbox one
# 13) Una volta configurati tutti i dettagli come specificato sopra, possiamo ora 'inviare' la richiesta. Inoltre, possiamo salvare la richiesta di invio come request.json (possiamo cambiare il nome della richiesta).
# 14) Possiamo vedere l'elenco delle Richieste effettuate, nel pannello di sinistra sotto la scheda Cronologia.
#quindici) Inoltre, possiamo salvare tutti i dettagli relativi alla richiesta (URI, autorizzazione, parametri, corpo, ecc.) In una raccolta esistente o in una nuova raccolta. Una volta che la richiesta è stata aggiunta alla raccolta, possiamo esportarla (condividerla) e persino importare qualsiasi raccolta esistente.
Possiamo condividere la raccolta come collegamento o come libreria del team mediante un semplice codice generato. Possiamo sempre eseguire l'intera suite Collection.
Anche noi possiamo pubblicare l'URL della raccolta sul Web in modo che chiunque acceda all'URL pubblicato può accedere alla raccolta e utilizzare i servizi forniti dall'API Web.
C'è una funzione per accedere a POSTMAN, che ci consente di memorizzare la cronologia, le raccolte, i dati ambientali, l'archiviazione locale in modo da poterli salvare e accedervi ovunque, in qualsiasi momento dopo aver effettuato l'accesso a POSTMAN.
Corridore
Serve per eseguire le risorse presenti nella cartella Collezioni.
Conclusione
La maggior parte delle aziende sta adottando lo stile architettonico REST per lo sviluppo / implementazione di servizi web perché è un'interfaccia semplice e user-friendly, che richiede meno formazione per i membri esistenti / nuovi del progetto. Le organizzazioni stanno prendendo in considerazione REST insieme ai loro servizi web esistenti.
Leggi anche = >> Esercitazione sull'API Flask
Nel prossimo tutorial questa serie di API REST, discuteremo diversi tipi di codici di risposta, tipi di richieste REST, ecc.
Lettura consigliata
- Codici di risposta API Rest e tipi di richieste di riposo
- Esercitazione POSTMAN: test API utilizzando POSTMAN
- Test API REST con cetriolo utilizzando l'approccio BDD
- 10 migliori strumenti di test API nel 2021 (strumenti di test API SOAP e REST)
- Test API REST con Spring RestTemplate e TestNG
- Come automatizzare le richieste API utilizzando Rest Assured e Jenkins
- Come creare un progetto REST in SoapUI Pro: Tutorial # 13
- Tutorial Parasoft SOAtest: strumento di test API senza script