4 ms·
I just moved everything to basic JSON RPC with GET and POST when I'm not using GraphQL. Etags are useful for caching and that's basically it. Fielding disserta
by throw_m239339 5y ago
I just moved everything to basic JSON RPC with GET and POST when I'm not using GraphQL. Etags are useful for caching and that's basically it.
Fielding dissertation is a fantastic academic exercise, but I don't have time to debate the "true meaning of REST" with my coworker, like I did for 15 years.
remote API are no different from libraries, you can use semvers to version them it's up to the client to detect whether the API breaks at some point or not.
As for the idea of resource based design, HATEOAS and "smart clients", it's as dead as the semantic web.
- lloydatkinson 5y agoYes this is my thoughts too. Though I include a DELETE in that small list. Seriously, it's been years and years and people still don't know what REST actually is. Neither do I, because everyone else gives a different explanation. It's a mess.
- acdha 5y ago> Fielding dissertation is a fantastic academic exercise, but I don't have time to debate the "true meaning of REST" with my coworker, like I did for 15 years. I think this is a very true point: GraphQL certainly has analogous challenges but doesn’t seem to have developed the quasi-academic cult debating how many angels can dance on the head of a pin[1]. I remember so many pointless arguments that something had to be built in a theologically-correct manner even if it wasn’t a natural fit for the problem and there was no known user who wanted that behavior. 1. As with other things like Agile, this isn’t a criticism of Fielding but rather what came after that success, especially the people who wanted to talk like academics without attempting the rigor.
- naasking 5y ago> I remember so many pointless arguments that something had to be built in a theologically-correct manner even if it wasn’t a natural fit for the problem I don't think most of the arguments were about building something RPC-like, the people complaining were just saying "stop calling RPC APIs REST", and that's perfectly reasonable. REST is totally not just RPC over HTTP.
- acdha 5y agoThe arguments I was referring to were the kind where someone was saying that the API _had_ to behave a certain way because this sentence in Fielding's dissertation meant it was WRONG to do x, even if there was no known immediate benefit and/or sound technical arguments for the original approach. The reason I mentioned Agile was the common pathology of treating something as a holy cause rather than a tool — there's a certain mindset which assumes the former and resists any attempt at perceived deviation regardless of merit.
- jrochkind1 5y agoThere is something very similar between HATEOAS/smart-clients and "semantic web", right? They are both part of the same kind of vision/dream. Or maybe semantic web is actually an attempted implementation of HATEOS? This connection just occurred to me today in these comments; maybe because I hadn't thought about HATEOS in a while. I still work with a lot of people who don't think semantic web is dead...
- dwaltrip 5y agoI never understood what people could possibly be envisioning with HATEOAS and smart clients. If some code needs to use an external service to achieve its goals, then it must have the knowledge of exactly how to use that service.