Talks


Never RESTing - RESTful API Best Practices using ASP.NET Web API

Overview

Designing and building RESTful APIs isn’t easy. On its surface, it may seem simple – after all, developers are only marshaling JSON back and forth over HTTP, right? Believe it or not, that’s only a small part of the equation. There are many things to keep in mind while building the systems that act as the key to your system.

In this session, we’ll delve into several best practices to keep in mind when designing your RESTful API. Attendees will learn about authentication, versioning, controller/model design, testability, documentation and change management. This session will also explore the do’s and don’t’s of RESTful API management so that you make sure your APIs are simple, consistent, and easy-to-use.

Examples will be done using ASP.NET Web API and C#. However, this session will benefit anyone who is or might be working on a RESTful API.

Based on RESTful API Best Practices and Common Pitfalls

Video

Recorded by NDC Conferences.

Download Slides

Further Reading

Microsoft REST API Guidelines
White House’s guide on RESTful APIs
Paging in ASP.NET Web API
OData Web API Github
HTTP API Design Guide
Azure team’s API Implementation guidance
Building and Securing a RESTful API for Multiple Clients in ASP.NET – Pluralsight course


An Opinionated, Maintainable REST API Architecture for ASP.NET Core

Overview

Writing a brand-new RESTful API using ASP.NET has never been easier, or so you’ve been led to believe. Create a project, write a few models, and scaffold – instant API for your website! While convenient, this leads to a lot of pain as your API scales. Testability and maintainability become more and more difficult as your codebase continues to expand. Eventually, you’re left with a huge mess of code and zero separation of concerns.

In this session, Spencer will provide a highly-opinionated and easy-to-learn pattern for creating scalable, maintainable APIs powered by ASP.NET Core. Attendees will learn about dependency injection, validating requests, executing requests via services, error handling, and versioning strategies to make sure your API lasts for the long haul.

Video

Recorded by NDC Conferences.

Click for Slides + More
Recess - an example API project for ASP.NET Core

Further Reading

Tackling cross-cutting concerns (good example of using validation with services)
ASP.NET Core Dependency Injection with AutoFac


Versioning and Maintaining Your REST API in ASP.NET Core

Overview

When tasked with making a REST API for your system, you'll inevitably have to think about versioning. One of the most difficult parts of API maintenance, versioning is an essential conversation to have about the future of your API, even before you hit File -> New Project. Do you version in the URL (v1/api/whatever)? Do you use header versioning? Should I update my production API in place?

In this session, Spencer will provide several strategies and real world examples of API versioning done right... and wrong. We'll discuss versioning strategies such as header versioning and URL versioning, as well as best practices on how to intelligently version your REST API without tearing your hair out... or making your consumers tear their hair out.

Click for Slides + More
ASP.NET Versioning Docs