Implementing REST Services using Web API

REST has emerged in recent years as a tremendously important vehicle for creating flexible and standards-based Web services. This course describes REST best practices and discusses important architectural and API modelling concepts, which you need to know in order to create scalable, secure, and performant REST APIs. The course is based on ASP.NET Web API 2, and discusses many of the rich framework APIs and advanced techniques available.

What you will learn:

  • Creating REST services using Web API
  • Advanced Web API 2 techniques
  • API architecture and modelling concepts
  • Working with OData
  • The importance of Hypermedia in REST
  • Building secure REST services
  • Implementing Quality of Service features
  • Deploying and hosting REST services


  • 6 months experience of C# programming
  • Familiarity with ASP.NET MVC is beneficial

Course outline:

  • Essential Concepts: Overview of REST; HTTP methods, requests, responses, and headers; Creating a simple REST service using Web API

  • Web API 2 Techniques: Managing flexible HTTP requests and responses; Dependency injection; HTTP message handlers; Filters; File uploading

  • Model Binding: REST and MIME types; Content negotiation; Media formatters for XML, JSON, and BSON; Creating a custom model formatter; Configuration

  • REST Clients: Consuming REST services in .NET; Consuming REST services in web and mobile clients; Additional types of client

  • Managing Routes: Web API routing mechanisms; Route parameters; Best practices for designing APIs and routes; Architectural considerations and best practice

  • Working with OData: Overview of OData; Defining a data model; Configuring an OData endpoint; Implement CRUD operations; Advanced techniques

  • Building Hypermedia-Driven REST Services: What is Hypermedia? Understanding HATEOAS (Hypermedia as the Engine of Application State) constraints; Understanding HAL (Hypertext Application Language); Implementing Hypermedia solutions using Web API

  • Security: Using SSL and HTTPs; Authentication and authorization options; ASP.NET identity; Using OAuth2; Using Windows Azure ACLs; Enabling Cross-Origin requests; Preventing Cross-Site Request Forgery (CSRF) attack

  • Practical Considerations: Documenting a REST API; Logging; Error handling; Testing; Performance; Scalability; Versioning

  • Deployment and Hosting: Deployment to IIS; Deployment to Windows Azure; Self-hosting using OWIN

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses

1. March
3 days
Classroom Virtual
19. April
3 days
Classroom Virtual
4 days