Jay Hayes

Breaking API Changes for Good

Jay Hayes | Feb 19, 2018

How do you version an API for specific mobile or web clients?

What happens when you have a bug in your API, and you need to fix it for some clients (the updated ones), but not for others? This screencast illustrates a strategy for adjusting an API's behavior for specific clients. We'll be using the Ruby on Rails framework emitting JSON to demonstrate this important web and API concept.

For the More Curious...

Using Rails for API-only Applications -- Ruby on Rails Guides
JSON API
BNR Guide to Front-End Web Development
Full Stack Courses

Subscribers Only

Transcripts are for subscribers. Create an account today to access our collection of screencasts, skill packs, and more.

Subscribers Only

Project files are only available for subscribers. Create an account today to access our collection of screencasts, skill packs, and more.

Need Help?

If you get stuck, try starting a discussion with Big Nerd Ranch experts in the community tab.

Related Screencasts

Explore other screencasts related to this topic.

Introducing Integrity: Null

5 minutes

In this screencast, we’ll talk about null values, which can tend to sneak into any large application that has been around for some time. We’ll go over our philosophy on data integrity and our thoughts on nulls, and what to do about them in an existing app with null constraints.

Introducing Integrity: Foreign Key

3 minutes

In this screencast, we'll talk about referential integrity and provide some strategies for adding it to existing references in your application. Ensure no record is left behind!

Introducing Integrity: Uniqueness

6 minutes

We're continuing our look at adding integrity to an already existing database backed web application. In this screencast we will be adding a uniqueness constraint. This is one of the more difficult constraints to add to existing data as you must come up with a way to get rid of duplicates.

Finding and Fixing Memory Issues

7 minutes

Incorrectly managing memory in our applications can result in hard to find bugs and possible crashes. In this video, we will explore the Memory Graph debugging tool in Xcode and how you can use it to find and fix strong reference cycles in closures.

Optional Return Values vs. Throwing

8 minutes

This video Illustrates the differences between using optional return values or throwing errors for functions that can fail. The implementations are discussed and the pros and cons of each approach are discussed.

Mocking Basics

6 minutes

Unit testing your classes helps ensure that they work correctly based on controlled inputs but doing the setup can be painful if you have a lot of dependencies. Learn how to create mock objects using Mockito to simplify your setup and improve the readability of your tests.