webapi 2.0

22
ASP.NET Web API 2.x Emanuele Bartolesi Blog: http://www.emanuelebartolesi.com Twitter: @kasuken

Upload: emanuele-bartolesi

Post on 03-Jun-2015

180 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: WebAPI 2.0

ASP.NET Web API 2.x

Emanuele BartolesiBlog: http://www.emanuelebartolesi.comTwitter: @kasuken

Page 2: WebAPI 2.0

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

Page 3: WebAPI 2.0

Cosa è un servizio RESTful

Page 4: WebAPI 2.0

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

Page 5: WebAPI 2.0

Introduzione ad ASP.NET Web API

Page 6: WebAPI 2.0

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

Page 7: WebAPI 2.0

demo

WebAPI by example: ShowRoomMany thanks to Marco Minerva

Page 8: WebAPI 2.0

Costruire il Database Model

Page 9: WebAPI 2.0

Costruire il Database Model

Page 10: WebAPI 2.0

Routing

Page 11: WebAPI 2.0

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

Page 12: WebAPI 2.0

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)}”]

Page 13: WebAPI 2.0

Versioning

Page 14: WebAPI 2.0

Versioning Adesso è diventato molto semplice Usa lo stesso “modello” del routing

V1/Orders V2/Orders V1/Customers/1 V2/Customers/CUST001

Page 15: WebAPI 2.0

HelpPage

Page 16: WebAPI 2.0

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

Page 17: WebAPI 2.0

Tools

Page 18: WebAPI 2.0

Fiddler

http://www.telerik.com/fiddler

Page 19: WebAPI 2.0

What’s new in WebAPI 2.1

Page 20: WebAPI 2.0

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

Page 21: WebAPI 2.0

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

Page 22: WebAPI 2.0

That’s all folks!