This course provides a practical hands-on introduction to developing and consuming ASP.NET Web API services using C# and Visual Studio 2015. This Web development framework from Microsoft makes it easy to create HTTP services that can reach a broad range of clients. It is an excellent platform for creating RESTful Web applications. The course is current to .NET Framework 4.5.2/4.6 and ASP.NET Web API 2.

Numerous programming examples and exercises are provided. The student will receive a comprehensive set of notes and all the programming examples.

Course Duration: 2 Days
Prerequisites:

The student should have a good working knowledge of C# and the .NET Framework. Basic knowledge of ASP.NET, HTML and JavaScript is also required.

The student should have a good working knowledge of C# and the .NET Framework. Basic knowledge of ASP.NET, HTML and JavaScript is also required.

Hardware and Software Requirements:

Required software is Visual Studio 2015, including the free Visual Studio Community 2015. The preferred operating system is Windows 7. The free Fiddler HTTP tool is also used. This can be downloaded from the Web. See the course Setup Notes for details.

A good minimal hardware profile for this course would have a 1.8 GHz or equivalent CPU, 2 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.

Required software is Visual Studio 2015, including the free Visual Studio Community 2015. The preferred operating system is Windows 7. The free Fiddler HTTP tool is also used. This can be downloaded from the Web. See the course Setup Notes for details.

A good minimal hardware profile for this course would have a 1.8 GHz or equivalent CPU, 2 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.

Course Objectives:
  • Gain an understanding of what ASP.NET Web API is and why it is useful
  • Implement HTTP services using Web API and Visual Studio 2015
  • Consume HTTP services using both jQuery and the ASP.NET Web API client library
  • Handle different media formats and content variations in Web API services
  • Understand routing and binding in Web API
  • Perform validation of request data
  • Gain an understanding of what ASP.NET Web API is and why it is useful
  • Implement HTTP services using Web API and Visual Studio 2015
  • Consume HTTP services using both jQuery and the ASP.NET Web API client library
  • Handle different media formats and content variations in Web API services
  • Understand routing and binding in Web API
  • Perform validation of request data
Course Outline:
  • Introduction to ASP.NET Web API
    • NET Web API
    • Representational State Transfer
    • REST and Web API
    • HTTP Services Using Web API
    • Using Fiddler
    • Web API vs. WCF
  • Web API and HTTP
    • HTTP Response Codes
    • HttpResponseException
    • Implementing POST
    • Implementing PUT
    • Implementing DELETE
  • Media Formatters and Content Negotiation
    • Internet Media Types
    • Media Formatters
    • JSON and XML Formatters
    • Content Negotiation
    • Accept and Content-Type Headers
    • Using the Query String
    • Custom Request Headers
    • Serialization
    • BSON Serialization
  • JavaScript Clients
    • Document Object Model
    • jQuery
    • Sending AJAX Requests
    • Implementing a Client
  • Binding, Validation and Routing
    • Reading Raw HTTP Requests
    • Route Data, Query String and Request Body
    • Binding to Simple Types
    • Binding to Complex Types
    • Validation Using Data Annotations
    • Routing in ASP.NET Web API
    • Using Default Routes
  • .NET Clients
    • Web API Client Libraries
    • HttpClient
    • Issuing GET Requests
    • Issuing POST Requests
    • Other Requests
  • Appendix A. Learning Resources
  • Introduction to ASP.NET Web API
    • NET Web API
    • Representational State Transfer
    • REST and Web API
    • HTTP Services Using Web API
    • Using Fiddler
    • Web API vs. WCF
  • Web API and HTTP
    • HTTP Response Codes
    • HttpResponseException
    • Implementing POST
    • Implementing PUT
    • Implementing DELETE
  • Media Formatters and Content Negotiation
    • Internet Media Types
    • Media Formatters
    • JSON and XML Formatters
    • Content Negotiation
    • Accept and Content-Type Headers
    • Using the Query String
    • Custom Request Headers
    • Serialization
    • BSON Serialization
  • JavaScript Clients
    • Document Object Model
    • jQuery
    • Sending AJAX Requests
    • Implementing a Client
  • Binding, Validation and Routing
    • Reading Raw HTTP Requests
    • Route Data, Query String and Request Body
    • Binding to Simple Types
    • Binding to Complex Types
    • Validation Using Data Annotations
    • Routing in ASP.NET Web API
    • Using Default Routes
  • .NET Clients
    • Web API Client Libraries
    • HttpClient
    • Issuing GET Requests
    • Issuing POST Requests
    • Other Requests
  • Appendix A. Learning Resources