Designing APIs for use over the web is a key part of most projects these days. Knowing the best way to design them with longevity, testability and reliability in mind is important. This course will show you how.
Whether you're building an API for your internal customers or the general public, it is important to build it with reliability, testability and longevity in mind. Part of this process is understanding how REST, JSON and HTTP work together. By understanding the basic underpinnings, you can build better APIs. This course will walk you through how to accomplish this regardless of what backend technology you use.
Shawn Wildermuth has been tinkering with computers and software since he
got a Vic-20 back in the early '80s. As a Microsoft MVP since 2002, he's
also involved with Microsoft as an ASP.NET Insider and
Introducing Web API Design Welcome to the Web API Design course. My name is Shawn Wildermuth of Wilder Minds. In this course we're going to talk about how to design an API that's reachable over the internet. This course includes pragmatic advice on what are Web APIs, some basic Archetypes for API Designs, how to Version Web APIs, how to Secure Web APIs, and finally we're going to talk about Hypermedia, and what people mean when they talk about it. This course isn't meant to teach you how to build APIs. This course is meant to help you design APIs. The focus of this course is to help you Design an API, and the course looks at the API from the view of the developer that is using your API. This is not specific to Microsoft's ASP. NET Web API technology, it's about APIs on the web in general. This includes REST APIs, we're going to touch a little bit on RPC, and Hypermedia or HATEOAS APIs. These APIs can be written in a variety of languages; this course is not about any specific language. Let's get started.
Designing The API Welcome to the second module of the Web API Design course. My name is Shawn Wildermuth. In this module we're going to be talking about designing the actual API itself. We're going to start by talking about how to Design for the URI, Understanding the role of Verbs, dealing with Status Codes, Associations, Designing the actual Results that are returned, ETags, Paging and Partials, and finally Non-Resource based APIs. Let's get started.
Versioning Welcome to the third module of the Web API Design course, Versioning. My name is Shawn Wildermuth. In Module 3 we're going to talk all about Versioning your APIs. This is going to include why Versioning is important, we're going to show some examples from public APIs and how they're doing Versioning, and we're then going to talk about patterns for Versioning, including URI Path Versioning, URI Parameter Versioning, Content Type Versioning, Custom Header Versioning, and which one to choose and when. We're also going to touch on the topic of Versioning your Resources themselves. Let's get started.
Securing Web APIs Welcome to Module 4 of the Web API Design course, Securing Web APIs. My name is Shawn Wildermuth. In this module we're going to be talking about how to secure your Web APIs, which Threats are coming after your APIs, how to Protect Your API, Cross Domain Security, Who Should You actually Authenticate with, Working with API Keys, understanding User Authentication, and finally making sense of OAuth.
Hypermedia Welcome to Module 5 of the Web API Design course. My name is Shawn Wildermuth. In this module we're going to be talking about Hypermedia, and what that means to you as the designer of a Web API. This module is going to cover the notions of Hypermedia, and this is going to include explaining what exactly we mean by Hypermedia, how this relates to REST and HATEOAS, what are Links, looking at some standard formats for HATEOAS, including what is HAL, and what is Collection+JSON? Let's get started.