Help! There’s Too Much Spaghetti in My API

Another topic on REST? Yes! URLs and JSON are only the beginning of what we can learn about building APIs for use in our web applications.

In this talk, we’re specifically going to look at how a combination of REST principles and modeling our processes and dialogs as state machines can dramatically simplify our client applications and API exchanges.

Why would you want to hear more about this subject? As we all start working more in the browser and communicate back to WordPress via API calls it’s easy for the complexity to start stacking up and overwhelming us! API design isn’t necessarily intuitive and the web is full of noisy advice.

We’ll use an example Gutenberg plugin to walk through a very common scenario dealing with interactive processes and we’ll see how a few design principles can save us the headaches of race conditions, code bloat, and changing requirements. We’ll examine how “state machines” can guide us and simplify complex business logic and we’ll explore how “HATEOAS” and REST pair with these machines to simplify complex application and UI logic.

Whether you are just starting to write your APIs and API clients or you have been churning them out for years I invite you to join this design session; we’ll stay away from nitty-gritty code details and instead focus on general principles we can apply in any coding environment.

After participating in this session you will be able to confidently work with: indicating loading states; testing and debugging forms, processes, and uploads; untangle complicated business rules dealing with things like authentication, limiting, validation, and triggering related activity; and end up with well-documented means of doing so.

What You’ll Learn

  • How to simplify the UI and the API endpoints
  • Bring consistency to failure modes
  • Ease testing and prtotyping
  • Provide a common language