4 ms·
> explain why REST has failed so spectacularly in the JSON API world Could you elaborate on this?
by vlunkr 5y ago
> explain why REST has failed so spectacularly in the JSON API world
Could you elaborate on this?
- deleted 5y ago[deleted]
- thehappypm 5y agoBy failed, I think they mean “spectacularly wide usage, with some drawbacks”.
- plorkyeran 5y agoREST as Fowler advocated for is used approximately nowhere. The widely used thing known as REST is very unlike it.
- bradwood 5y agoEveryone hates HATEOAS
- OJFord 5y agoI've only heard of HATEOAS from people loving it but not getting to 'do' it.
- dvaun 5y agoRather, perhaps people should take a look at the thoughts about REST from the researcher who wrote the original dissertation: https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypert...
- recursivedoubts 5y ago"I am getting frustrated by the number of people calling any HTTP-based interface a REST API. " I am familiar with that feel.
- ramraj07 5y agoSomeone please help here, im reading all the links here and still drawing a blank on what is and is not REST! Can someone link to an API that’s truly RESTful? And perhaps one that’s barely not?
- voiceofunreason 5y agoREST is the architectural style of the World Wide Web: browsers reading cached copies of web pages that link to other web pages. So almost any site you hit with your browser is a "RESTful API". Another decent example is Atom Syndication / Atom Publishing. The best introduction that I've found is Jim Webber's 2011 talk https://www.youtube.com/watch?v=aQVSzMV8DWc&t=3m8s https://www.youtube.com/watch?v=aQVSzMV8DWc&t=3m8s Jon Moore's 2010 Hypermedia APIs talk is also good https://vimeo.com/20781278 https://vimeo.com/20781278 Unfortunately, a second idea appeared, that embraced the label "REST" but used it to mean something else (roughly, a set of conventions for how to organize web pages and the edits one makes to web pages). And the second idea was written and shared with a much larger audience than the first (in addition to being an "easier" idea), so it grabbed a super majority of the mind share.
- randomdata 5y ago> So almost any site you hit with your browser is a "RESTful API". I said something to that effect in a job interview once when the topic of REST came up. I was looked at like I had two heads.
- mnembrini 5y agoThere are some example links in this post about HATEOAS https://engineering.3ap.ch/post/using-hateoas-with-rest/ https://engineering.3ap.ch/post/using-hateoas-with-rest/ I think the main distinction according to the original paper is if you are doing just HTTP CRUD ( not REST) or also HATEOAS
- tinco 5y agoREST has 6 constraints, the 6th constraint has 4 elements, the last of those four is a useless thing called HATEOAS. If you call your API REST, some zealots will open up your API and look if your beautiful response is polluted with any "links". If it is instead pristine, they will claim your API is not REST. It's really ridiculous, the links system is only barely useful in some GUI data exploration tools, that are not even that comfortable to use. If you use a JSON API that feels weirdly antiquated because of the superfluous fields, this is why. If you disregard HATEOAS basically every JSON API on the web is REST.
- recursivedoubts 5y ago> spectacularly wide usage There are very few JSON-based hypermedia APIs being built and the few that were are almost never used as a uniform interface. They are treated as a normal, RTFM API. In REST-ful terms (real REST, not the "REST is JSON with hierarchical end points, kinda" sense), REST has failed spectacularly in the JSON world.
- Andys 5y agoI wonder about this too. I regularly read that REST is bad/failed. But it appears to have had been widely adopted in a soft way, beating any competing ideas.
- asah 5y agoMobile apps have high network latency and need multiple request/responses packaged into fewer server calls.
- raihansaputra 5y agoI think this is the main thing that prevents HATEOAS to be implemented. I'm very interested in it, but many "web apps" now needs more polished interaction and network resilience. I'm not saying it can't be done with an HTML-render centric codebase, but it's still uncommon.
- nicwolff 5y agoEssentially no-one implements REST APIs as defined by Fielding and Fowler because what software developers and architects actually find valuable is an HTTP CRUD API. The widespread adoption of microsystems architectures required the selection and standardization of a format for the transfer and modification of resource representations between services, and CRUD over HTTPs serves that purpose pretty well. Unfortunately, REST is the buzzword under which HTTP CRUD APIs were proposed and promulgated, so now we have a schism between theorists who consider HATEOAS a requirement but can't explain any benefit to the common real-world use case, or give any practical examples, and engineers who now just roll their eyes when the theorists say they're not really building REST APIs. We know we're not, but if we tell our managers that we've implemented HTTP CRUD APIs for the backend services, they'll ask us why we're didn't choose REST...