Facebook Relay: An Evil And/Or Incompetent Attack on REST
I deal with REST zealots like this everyday :( just the fact that people spend so much time debating what is and what isn't REST should be a red flag that maybe it isn't the answer to everything.<p>All the simple REST examples make it look like it is the perfect solution for CRUD tasks. But in reality API endpoints are not a straight pass through to the database. An endpoint may do any combination of CRUD tasks, it can't be type casted as a single one with a HTTP verb.<p>Overloading HTTP error codes is another interesting problem.  If the server returns 404 for a resource, what actually happened? Did the web server or my application return the 404.   Conflating HTTP and application error codes leads to confusion.<p>HATEOAS is just superfluous. I've met zealots who will defend it to the death. I just haven't found a practical use for it.<p>Surface area and complexity are a big deal. REST encourages creating a CRUD interface for every single resource.  I've met people who have created literally 100 endpoints upfront for a small application - how is that maintainable?<p>I like that Facebook is standing up to the zealots. I get attacked at work when I try to create simple API endpoints and they aren't 100% REST (if anyone could agree what that even is.)