API Anti-Patterns

API Anti-Patterns

Author: BJ Burns and Will Gant May 25, 2023 Duration: 50:58

APIs are a huge part of development today and one of the most common types of API out there is a RESTful API. REST stands for representational state transfer, which is a software architecture that imposes conditions on how an API should work. Essentially, it was created as a set of guidelines for how communications should work between disparate systems on a complex communication network (like the internet). REST is implemented atop HTTP and uses the standards in the underlying protocol as part of the standards for communication. In a RESTful API, client and server applications are considered to be independent, that is, details from one should not leak into the other, to the extent possible. This also implies that API calls for the same resource should look the same regardless of where they come from – indeed this is required to decouple the client and the server.

RESTFul APIs are built around the inherent statelessness of HTTP. That is, a persistent connection between the client and server is not assumed. This has profound architectural implications in regards to how resources are accessed and mutated. In order to make this disconnected architecture perform well across the internet, this also means that caching will be used heavily. Caching implies further architectural constraints around resource access, as well as careful coding server side to ensure that items are cached (and removed from cache) appropriately. This helps both client side speed and server side scalability. In addition, the lack of a session makes it far easier to spread a workload across multiple servers, as there is no need to synchronize state between them or keep sessions sticky.

Restful APIs are pretty much bog standard web technology at this point. Not only do complex frontends use them, but clients, QA, and other parts of your own system will often do so as well. While Rest APIs are generally standard at this point, there are a lot of mistakes you can make when designing them that make it harder to use your API, create excess load on the server, or just generally increase the frustration level of all involved parties. Certain antipatterns also look good initially, but end up causing problems later when your system gets more users, or more HTTP savvy integrators working with it. We hope this brief overview is enough to save you some time up front on your next API project.

The post API Anti-Patterns appeared first on Complete Developer Podcast.


Hosted on Acast. See acast.com/privacy for more information.


BJ Burns and Will Gant host the Complete Developer Podcast, a conversation that goes far beyond just writing code. These two seasoned developers built this show from a simple idea: that a career in tech is about more than the latest framework or language syntax. It's about the entire ecosystem you navigate, from the logic on your screen to the dynamics of the business meetings and the long-term path of your career. Each episode feels like pulling up a chair in the break room with colleagues who get it, discussing the real, often unspoken, parts of the job. You'll hear them tackle the intersection of technology, business strategy, and professional growth, making sense of how these pieces fit together in a practical, everyday way. This podcast digs into the questions that don't always have a clear answer in a manual-how to communicate effectively with non-technical teams, ways to approach career advancement, or how to balance deep technical work with the broader goals of a company. It's a resource for anyone who writes code but lives in a much bigger world, offering perspective and discussion that aims to make the whole journey a bit more comprehensible and a lot more manageable. Tune in for thoughtful, grounded talks that treat development as the multifaceted profession it truly is.
Author: Language: English Episodes: 100

Complete Developer Podcast
Podcast Episodes
Unix Philosophy [not-audio_url] [/not-audio_url]

Duration: 42:30
You might think that unix systems are the digital equivalent of dinosaurs, and that they have little to no relevance today. However, that's not true and the philosophical underpinnings of unix have had a huge impact up u…
Improving Your Morning Routine [not-audio_url] [/not-audio_url]

Duration: 53:52
How you start your morning sets the tone for the whole day. A good morning routine will improve your health and productivity.Read more ›The post Improving Your Morning Routine appeared first on Complete Developer Podcast…
Apology [not-audio_url] [/not-audio_url]

Duration: 0:59
We had an issue with out CDN, we apologize for the issues with access to the episode HTTPS and SSL. We fixed it on the website but the podcatchers did not update because the RSS didn't push a new episode. This apology sh…
HTTPS and SSL [not-audio_url] [/not-audio_url]

Duration: 44:38
As security concerns have become more and more important on the web, there has been a growing movement to make sure that communication between the client and the server is ALWAYS encrypted. There are many reasons for thi…
Everyone Listening Is Rehired [not-audio_url] [/not-audio_url]

Duration: 51:22
We're going to finish going through Mike Acton's list of things he expects from developers. We'll share our thoughts and reactions to his assessment. You don't have to listen to the first episode to understand this one,…
12 Week Year Overview [not-audio_url] [/not-audio_url]

Duration: 55:59
Parkinson's Law is an adage that work will expand to fill the time allotted for its completion. We typically understand this law to mean that allotting too much time to a task will cause the task to expand and waste time…
Everyone Listening Is Fired [not-audio_url] [/not-audio_url]

Duration: 55:46
We react to Mike Acton's 2019 talk "Everyone Watching This Is Fired" by going through his "50 things he expects of developers" and discussing them, or as many as we can in an hour. If you haven't watched his video check…
Time Management Baseline [not-audio_url] [/not-audio_url]

Duration: 52:22
This year's theme is time management. However, if everything is chaotic, it's kind of difficult to build a robust time management system that you can trust.Read more ›The post Time Management Baseline appeared first on C…
Predictions 2023 [not-audio_url] [/not-audio_url]

Duration: 45:20
It's been an interesting year for many of us, with lots of changes. There have been both upsides and downsides to this year, and most of us have had to grow a lot. This is the first episode of 2023.Read more ›The post Pr…
Resolutions 2023 [not-audio_url] [/not-audio_url]

Duration: 56:00
2022 was an interesting year. It brought a lot of unexpected yet not entirely unwelcome changes for both of us and for the podcast. As we review our resolutions we'll see how SMART our goals really were and then we'll di…