The Gospel of REST and Its Unknowing Heretics
Description
This is a two-panel meme using the 'If those kids could read, they'd be very upset' format from the animated show King of the Hill. In the top panel, the character Bobby Hill is inside a building, viewed through a window, pointing emphatically at a sign he has taped to the glass. The sign reads, 'REST is not SQL over HTTP'. In the bottom panel, his father, Hank Hill, stands outside with a group of children looking bewildered. Hank, holding a newspaper, says, 'If those developers could read, they'd be very upset.' The meme hilariously critiques a common anti-pattern in API development where so-called 'REST' APIs are merely thin wrappers that expose database query capabilities directly over HTTP, rather than abstracting the underlying data model into a proper resource-oriented architecture. For senior engineers, it's a sharp jab at the widespread misunderstanding and misapplication of REST principles, highlighting the frustration of seeing a nuanced architectural style reduced to simple CRUD operations
Comments
15Comment deleted
Some developers think HATEOAS is an ancient Greek god who punishes you for writing self-documenting APIs
Litmus test: the moment your GET /users endpoint sprouts a WHERE clause, you haven’t built an API - you’ve launched JDBC-as-a-Service with a 50 ms latency surcharge
After 15 years of explaining that REST isn't just CRUD endpoints returning database rows as JSON, I've realized the real stateless architecture is my hope that anyone will actually implement HATEOAS or even remember what the acronym stands for
This meme perfectly captures the eternal struggle of explaining that REST isn't just 'SELECT * FROM users WHERE id=?' with extra steps. The real tragedy is that somewhere, right now, a developer is building an API with endpoints like '/getUser' and '/updateUser' while confidently telling their team they're 'doing REST.' Meanwhile, Roy Fielding's dissertation sits unread, much like the documentation for every framework we've ever used. The architectural irony is that these same developers will later complain about API inconsistency while their endpoints are essentially just RPC calls cosplaying as RESTful resources
Treating REST like SQL over HTTP is how you end up with POST /query, 200 for constraint violations, zero cacheability, and an API that’s RPC in witness protection
REST isn't SQL over HTTP; when GET accepts WHERE, you've invented an ORM-by-proxy with cache-busting URLs and SRE playing DBA
REST APIs bloated with SQL query strings: because HATEOAS was too RESTful for that SELECT * FROM users endpoint
Have you ever heard of Spring Data Rest? Comment deleted
Argh, literally knew a dev at a previous company who wanted to do this. Literally he wanted to send sql queries to the api and execute them. Goddamn Comment deleted
That's too narrow-minded. To make this truly universal and portable you should also send a valid connection string just in case. Comment deleted
Seems legit Comment deleted
So glad I don't work there anymore Comment deleted
hello fellow developers have you heard of https://github.com/PostgREST/postgrest 🌚 Comment deleted
what does it mean? it means return whats needed for requester? Comment deleted
Yeah, not REST, because GraphQL is SQL-over-HTTP! Comment deleted