DATASTAT HUB: HTTP protocol, REST, CRUD and automatic data collection
Crea servizi REST per la tua App con ASP.NET 5
-
Upload
andreadottor -
Category
Technology
-
view
41 -
download
5
Transcript of Crea servizi REST per la tua App con ASP.NET 5
Mobile Camp 2015
Crea servizi REST per la tua App con ASP.NET 5
Andrea Dottor – Microsoft MVP ASP.NET/IIS
twitter: @dottoremail: [email protected]
Mobile Camp 2015
App connesse
Standard di mercato
ASP.NET 5
ASP.NET 5 Web API
Alcuni suggerimenti
Agenda
Mobile Camp 2015
• dati sempre aggiornati, senza il bisogno di ripubblicare l'App.
• dinamicità dei contenuti
• interazione tra utenti
App connesse – perchè?
Mobile Camp 2015
Scrivere bene i servizi permette di ridurre i tempi di scrittura dell'App.
I servizi permettono di condividere/centralizzare parte della logica applicativa.
Le App possono essere scritte in linguaggi/tecnologie differenti, e dobbiamo ricordarcelo quando realizziamo i servizi
App connesse
Mobile Camp 2015
Servizi SOAP (.asmx)• Anche se adottano uno standard non sono facilmente consumabili da
qualsiasi piattaforma
Servizi WCF• Troppa configurazione
• Poco flessibili
ASP.NET Web API• Facili da utilizzare
• Il massimo della flessibilità
Cosa abbiamo oggi?
Mobile Camp 2015
cosa usano i maggiori "player"?
• HTTP
• JSON
• Servizi RESTful
• Nessuno usa SOAP
• In pochi XML
Lo standard di mercato
Mobile Camp 2015
Scrivere servizi RESTful permette ai nostri servizi di essere consumati da qualiasi tecnologia
Da qualsiasi linguaggio/piattaforma riusciamo a fare delle richieste HTTP
Sfruttando le classiche porte 80 e 443, non abbiamo problemi di firewall, in quanto "solitamente" sono aperte
RESTful
Mobile Camp 2015
ASP.NET 5 apre le porte a nuove possibilità
Template/progetto più semplice
ASP.NET MVC e ASP.NET Web API finalmente assieme
Non più solo per Server Windows
Non più vincolato ad essere sviluppato su SO Windows
ASP.NET 5
Mobile Camp 2015
File di progetto in JSON• project.json
Configurazione in JSON• config.json
Packages esterni in JSON• package.json
Cartella wwwroot contiene i file statici del progetto
Integrazione con i più usati Web Development Tools (Bower, Grunt and Gulp)
ASP.NET 5 - Nuova struttura di progetto
Mobile Camp 2015
E' disponibile un template di progetto con tutte le referenze necessarie
(scordatevi il template di progetto a cui eravamo/siamo abituati)
Progetto di partenza ridotto all'essenziale
ASP.NET 5 - Web API
Mobile Camp 2015
Il Web API Controller eredita dalla stessa classe base "Controller" da cui eredita anche il controller MVC
Uso dei RouteAttributes per centralizzare tutta la logica nel singolo controller
ASP.NET 5 - Web API - Controller
Mobile Camp 2015
Visual Studio Code permette lo sviluppo di soluzioni ASP.NET 5 utilizzando SO Windows, Mac e Linux https://code.visualstudio.com/
Basato su OmniSharp e Atom Editor
E' free
Ha l'intellisense completo
Integrato con Git
Sviluppo su MAC
Mobile Camp 2015
Building ASP.NET 5 Applications with Visual Studio Code
https://code.visualstudio.com/Docs/ASPnet5
Il debug di applicazioni ASP.NET 5 non è ancora implementato, ma è in arrivo
Visual Studio Code e ASP.NET 5
Mobile Camp 2015
Usare correttamente gli HTTP-Methods per mappare le azioni:
• GET /products Retrieves a list of products
• GET /products/12 Retrieves a specific product
• POST /products Creates a new product
• PUT /products/12 Updates product #12
• PATCH /products/12 Partially updates product #12
• DELETE /products/12 Deletes product #12
Uso dei Http-methods
Mobile Camp 2015
Utilizzare gli Status-Code per gestire correttamente gli errori
Lanciare un'eccezione ritorna sempre un codice 500
• 400 bad request: quando i parametri in ingresso non corrispondo a quelli voluti
• 401 not authorized: mancanza di permessi
• 404 not found: quanto non trovate una risorsa
• 500 internal server error: un errore generato dal/nel vostro codice
Gestione degli errori
Mobile Camp 2015
Versionate le vostre API per mantenere compatibilità con le applicazioni in produzione
Es: api/v1/products
Facilmente implementabile con l'uso di Rounting e dei Namespaces
Version your API
Mobile Camp 2015
Esponete dei Model studiati per la vostra app (o per chi li deve utilizzare)
Non esponete le stesse classi che usate per la persistenza.• Spesso hanno informazioni che non servono all'app
• Minori dati equivale a minor peso. Maggiore velocità nel download
Ricordatevi dell'autenticazione
Appoggiatevi agli standard di mercato: JSON, HTTP, OAuth, OData
Alcuni suggerimenti
Mobile Camp 2015
Per testare le API rest:
• Fiddlerhttp://www.telerik.com/fiddler
• Postmanhttps://www.getpostman.com/
Tools
feedback
10
Andrea Dottor{ consulenza e viluppo software }
Microsoft MVP ASP.NET/IIS
Email: [email protected]
Website: http://www.dottor.net
Blog: http://blog.dottor.net
Twitter: http://twitter.com/dottor
Contatti / links