Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Working with http client rest apis and connection availability check

147 views

Published on

Working with http client rest apis and connection availability check

Published in: Mobile
  • Be the first to comment

  • Be the first to like this

Working with http client rest apis and connection availability check

  1. 1. Architettura basata su API
  2. 2. 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.
  3. 3. Le risorse • REST è caratterizzato dall’esistenza di risorse • Ogni risorsa ha un identificativo unico e possiamo accederci tramite un identificatore globale (che chiamiamo URI)
  4. 4. HTTP e REST: Request Verbs
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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.
  9. 9. Demo HttpClient e Rest API
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. Demo Network Availability Check
  14. 14. Question time

×