Upload
emanuele-bartolesi
View
187
Download
2
Embed Size (px)
Citation preview
ASP.NET Web API 2.x
Emanuele BartolesiBlog: http://www.emanuelebartolesi.comTwitter: @kasuken
Agenda Cosa è un servizio RESTful Introduzione a ASP.NET WebAPI Costruire il Database Model Routing Versioning HelpPage Tools What’s new in WebAPI 2.1
Cosa è un servizio RESTful
Cosa è un servizio RESTful Architettura Stateless che lavora sul protocollo HTTP Ogni URL rappresenta un risorsa Usa i metodi HTTP (verbi) per interagire con le risorse
GET – per recuperare una risorsa POST – per creare una risorsa PUT – per aggiornare una risorsa DELETE – per cancellare una risorsa
L’interazione fra il client e le risorse avviene solamente attraverso URL Supporta JSON e/o XML come formato di scambio dati fra richieste e risposte I risultati delle operazioni vengono comunicati tramite HTTP Status Code
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Introduzione ad ASP.NET Web API
Introduzione ad ASP.NET Web API Prima versione con ASP.NET MVC 4 (2 anni fa) Può essere considerato un framework per costruire servizi sul protocollo
HTTP Tali servizi possono essere richiamati semplicemente da diversi client come:
browser, smartphones e applicazioni desktop Supporto nativo a OData Non fa parte del framework MVC, ma del core di ASP.NET
demo
WebAPI by example: ShowRoomMany thanks to Marco Minerva
Costruire il Database Model
Costruire il Database Model
Routing
Routing La base di ASP.NET Web API Match fra URI e Azioni Basato su attributi URI che descrivono risorse o gerarchie di risorse
/Customers/1 /Orders/2 /Customer/1/Orders /Suppliers/1/Items
Routing Overloaded URI segments
Orders/1 Orders/Pending
Multiple parameter type Orders/1 Orders/2014/01/01
Routing costraints [Route(“orders/{id:int}”] [Route(“orders/{id:int:min(10)}”]
Versioning
Versioning Adesso è diventato molto semplice Usa lo stesso “modello” del routing
V1/Orders V2/Orders V1/Customers/1 V2/Customers/CUST001
HelpPage
HelpPage Basate su ASP.NET MVC Template bootstrap Si basano sui commenti del codice Permettono di capire con facilità come devono essere
eseguite le chiamate alle API
Tools
What’s new in WebAPI 2.1
What’s new in WebAPI 2.1 Global Error Handling Attribute Routing Improvements Help Page Improvements IgnoreRoute Support BSON Media-Type Formatter Better Support for Async Filters Query Parsing for the Client Formatting Library Bugfixes
http://www.asp.net/web-api/overview/releases/whats-new-in-aspnet-web-api-21
Resources ASP.NET WebAPI 2.0 - http://asp.net/web-api OData – http://www.odata.org HTTP Status Code - http://www.w3.org/Protocols/rfc2616/rfc2616-
sec10.html
That’s all folks!