Working with http client rest apis and connection availability check
-
Upload
michele-aponte -
Category
Mobile
-
view
72 -
download
3
Transcript of Working with http client rest apis and connection availability check
![Page 1: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/1.jpg)
9 Settembre 2016
Working with HTTP Client, REST APIs and connection availability checkMichele [email protected] @apomic80 http://www.tolist.net
![Page 2: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/2.jpg)
9 Settembre 2016
Architettura basata su API
![Page 3: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/3.jpg)
9 Settembre 2016
Che cos’è REST• REST è l’acronimo di REpresentational State Transfer • E’ un modello architetturale per creare API che utilizzano il protocollo HTTP
come metodo di comunicazione.• Ogni applicazione è divisa in risorse• Ogni risorsa è unica ed indirizzabile usando una sintassi universale• Le risorse sono condivise usando un’interfaccia uniforme che preveda un
insieme vincolato di operazioni ben definite e un insieme vincolato di contenuti• Il protocollo deve essere: client-server, stateless e cachable.
![Page 4: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/4.jpg)
9 Settembre 2016
Le risorse• REST è caratterizzato dall’esistenza di risorse • Ogni risorsa ha un identificativo unico e possiamo accederci tramite un
identificatore globale (che chiamiamo URI)
![Page 5: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/5.jpg)
9 Settembre 2016
HTTP e REST: Request Verbs
![Page 6: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/6.jpg)
9 Settembre 2016
HTTP e REST: Request Headers• Si tratta di istruzioni ulteriori che vengono aggiunte alla richiesta• La lista completa è disponibile al seguente indirizzo: (http://
www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)• Possibili header sono• Accept• Location Header• Age
![Page 7: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/7.jpg)
9 Settembre 2016
HTTP e Rest: Response Status Codes• Questi codici vengono prodotti assieme alla risposta e forniscono al client
dettagli sullo stato della richiesta• La lista completa è disponibile al seguente indirizzo: http://
www.w3.org/Protocols/rfc2616/rfc2616-sec10.html • 200: ok• 201: created• 204: no content• 400: bad request• 404: resource not found• 500: server error
![Page 8: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/8.jpg)
9 Settembre 2016
SOAP vs REST (differenze concettuali)
• estraiUtente(Utente)• Questa è un’operazione REST perché stiamo accedendo a una risorsa (un dato)
• switchCategoria(Utente, oldCategory, newCategory)• Questa è un’operazione SOAP
![Page 9: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/9.jpg)
9 Settembre 2016
HttpClient• Per invocare servizi REST in .NET è possibile utilizzare HttpClient:• Metodi per i verbi comuni (DELETE, GET, PUT e POST). Ognuna di queste richieste viene
inviata in modo asincrono.• Supporto di impostazioni e schemi di autenticazione comuni.• Accesso ai dettagli SSL (Secure Sockets Layer) sul trasporto.• Possibilità di recuperare, impostare ed eliminare cookie.• Info sullo stato delle richieste HTTP disponibili per i metodi asincroni.
![Page 10: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/10.jpg)
9 Settembre 2016
DemoHttpClient e Rest API
![Page 11: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/11.jpg)
9 Settembre 2016
Verifica disponibilità della Rete• In applicazioni mobile che usano un back-end la disponibilità della
connessione è fondamentale:• L’applicazione in assenza di connessione potrebbe non aver nessun senso di utilizzo• Politiche di gestione dell’off-line
• Sola lettura da un database locale• Scrittura off-line e successiva sincronizzazione dei dati
![Page 12: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/12.jpg)
9 Settembre 2016
Verifica connettività in iOS• In Xamarin iOS è possibile utilizzare una classe helper disponibile su github,
basata sulla API :• https://
github.com/xamarin/ios-samples/blob/master/ReachabilitySample/reachability.cs
![Page 13: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/13.jpg)
9 Settembre 2016
Verifica connettività in Android• In android è disponibile un oggetto ConnettivityManager, da cui ottenere un
oggetto NetworkInfo, che fornisce le infomazioni sulla rete e il suo stato:
• Richiede android.permission.ACCESS_NETWORK_STATE
![Page 14: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/14.jpg)
9 Settembre 2016
DemoNetwork Availability Check
![Page 15: Working with http client rest apis and connection availability check](https://reader035.fdocuments.in/reader035/viewer/2022062522/5872b2831a28ab523c8b5d83/html5/thumbnails/15.jpg)
9 Settembre 2016
Question time