web development with asp.net web api
DESCRIPTION
Web development with ASP.NET Web API by Microsoft MVPs Damir Dobric and Bahrudin HrnjicaTRANSCRIPT
![Page 1: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/1.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Web Development with WCF Web API ASP.NET Web API
Dipl.-Ing Damir Dobric
Lead Architectdaenet
Microsoft Most Valuable Professional
Email: [email protected]: bhrnjica.net
Microsoft vTSP – GermanyTechnology Advisor in Business Platform Division – Microsoft Corp.Microsoft Most Valuable Professional
Email: [email protected]: [email protected]
Dipl.-Ing Bahrudin Hrnjica
Senior Software Developerdaenet
![Page 2: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/2.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Agenda
• From WCF to Asp.NET Web API• Protocols in Web• Routing in Web API• HttpClient
– Formatters and Custom Formatters– Filters and Custom Filters
• Demos through every subtitles• Recap• Q/A
![Page 3: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/3.jpg)
Windows Azure
Custom Software Development MobileMiddleware
ASP.NET Web API
![Page 4: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/4.jpg)
Windows Azure
Custom Software Development MobileMiddleware
From WCF to ASP.NET Web API• First apear as WCF Web API• HTTP related• WCF -wider that HTTP (TCP, Named Pipe,
WinService, etc)• ASP.NET is closer technology• Can be treated as part of .NET vNext
![Page 5: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/5.jpg)
Windows Azure
Custom Software Development MobileMiddleware
ASP.NET Web API
• Modern HTTP programming model• HTTP related• Full support for ASP.NET Routing• Content negotiation and custom formatters• Model binding and validation• Filters• Query composition• Code-based configuration• Self host
![Page 6: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/6.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Demo: Simple ASP.NET Web API App
Integration in MVC 4
Invoke operation
from browser
Add opeartion with params
GET, POST, PUT, DELETE
![Page 7: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/7.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Web Protocols
• SOAP• REST• SOAP Contract vs. Contract based on
document Three (REST)• Formatting (HTML, OData, etc.)
![Page 8: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/8.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Routing
• Web API uses HTTP methods• MVC-style Routing is still avaliable• Controller handles HTTP requests• Set routing to
HttpSelfHostConfiguration
![Page 9: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/9.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Routing
HTTP Method URI Path Action Parameter
GET api/products GetAllProducts (none)
GET api/products/4 GetProductById 4
DELETE api/products/4 DeleteProduct 4
POST api/products (no match) -
![Page 10: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/10.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Demo: Simple routing
Get with and without params
Put and Post sample
Name routing resolution
Sample delete
method
![Page 11: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/11.jpg)
Windows Azure
Custom Software Development MobileMiddleware
HttpClient
![Page 12: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/12.jpg)
Windows Azure
Custom Software Development MobileMiddleware
HttpClient
• Modern HttpCLient for .NET• NuGet packages– System.Net.System– System.Net.Http.Formatting– System.Json
• Hady when using in JavaScript code
![Page 13: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/13.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Formatters
• XML• JSON• Custom
![Page 14: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/14.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Demo: Using Formatters
XML Formatter
JSON formatter
vCards Custom
Formatter implementati
on
vCad Formatter
![Page 15: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/15.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Filters
• Custom Validation Filter• Custom Error Filter
![Page 16: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/16.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Demo: Using Filters
Filters sample Custom Filters
Custom error filters
Custoim validation
![Page 17: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/17.jpg)
Windows Azure
Custom Software Development MobileMiddleware
RECAP
![Page 18: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/18.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Recap
• New way of building REST based web application
• Easy of using• Built on top of APS.NET MVC• Routing convention• HTTP Standard method GET, POST, PUT,
DELETE• Still support MVC routing methods• Different Formatters: XML, JSON, Custom• Different Filters
![Page 19: Web development with ASP.NET Web API](https://reader033.vdocuments.us/reader033/viewer/2022061206/5481d35e5906b505058b45c1/html5/thumbnails/19.jpg)
Windows Azure
Custom Software Development MobileMiddleware
Contact• More info about Web API
– http://asp.net/web-api - official page– http://blogs.msdn.com/b/henrikn/
• Blogs:– Damir‘s Blog: http://developers.de/blogs/damir_dobric/default.aspx– Bahrudin‘s Blog: http://bhrnjica.net
• Emails:– [email protected]– bahrudin,[email protected]