WebAPI 2.0
-
Upload
emanuele-bartolesi -
Category
Technology
-
view
188 -
download
2
Transcript of WebAPI 2.0
![Page 1: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/1.jpg)
ASP.NET Web API 2.x
Emanuele BartolesiBlog: http://www.emanuelebartolesi.comTwitter: @kasuken
![Page 2: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/3.jpg)
Cosa è un servizio RESTful
![Page 4: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/5.jpg)
Introduzione ad ASP.NET Web API
![Page 6: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/7.jpg)
demo
WebAPI by example: ShowRoomMany thanks to Marco Minerva
![Page 8: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/8.jpg)
Costruire il Database Model
![Page 9: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/9.jpg)
Costruire il Database Model
![Page 10: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/10.jpg)
Routing
![Page 11: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/13.jpg)
Versioning
![Page 14: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/15.jpg)
HelpPage
![Page 16: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/17.jpg)
Tools
![Page 19: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/19.jpg)
What’s new in WebAPI 2.1
![Page 20: WebAPI 2.0](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022042601/556f22dcd8b42a414f8b45de/html5/thumbnails/22.jpg)
That’s all folks!