Designing REST-based APIs

This course gives you a wide overview of the things to care about if you build and deploy RESTful services that will survive the real world. It covers architecture, security, testing, scaling and other best practices that will help you to avoid the common mistakes.

After this class you will know what things to focus on when you design and operate a public API. You will also have some ideas on how to use REST internally inside your organization. 

It is recommended to combine this class with an extra workshop day to better look into your needs. 

Audience:

Teams or developers planning to develop their first REST-based API 

Prerequisites:

There is no pre-requisites for this course 

Course outline:

General high level introduction APIs and REST

  • What are APIs
  • What is REST
  • HTTP
  • URIs
  • Hypermedia
  • REST vs SOAP
  • Resources

RESTful design

  • URI structure
  • Modeling
  • Media types

API Architecture

  • Challenges
  • Fault tolerance
  • Queues
  • Scalability
  • Throttling
  • Internal API

Implementing APIs

  • GUIDs
  • HTTP Headers
  • Configuration management
  • Deployment
  • Encoding
  • Validation

Logging and debugging

  • Request tracking
  • Logging
  • Tools for analyzing logs
  • Server and application monitoring
  • End user support

Security

  • Properties of a secure REST API
  • Authentication
  • Threats
  • Securing the infrastructure
  • Securing ASP.NET & IIS
  • Top security risks
  • API Key management
  • Hashing

Testing

  • Unit tests
  • Integration tests
  • Best practices and strategies
  • Tools

Other relevant courses