2. 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
3.
4. 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
5.
6. 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
11. 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
14. Versioning
Adesso è diventato molto semplice
Usa lo stesso “modello” del routing
V1/Orders
V2/Orders
V1/Customers/1
V2/Customers/CUST001
15.
16. 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
20. 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
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/rfc2616sec10.html
Notas del editor
oData - c'è il supporto nativo a odata, di cui non possiamo parlare per motivi di tempo, ma lo vedremo brevemente in pratica nella demo