http://intercoolerjs.org/2016/01/18/rescuing-rest.html
http://intercoolerjs.org/2016/05/08/hatoeas-is-for-humans.ht...
Doesn't anyone notice this? I feel like I'm taking crazy pills.
http://intercoolerjs.org/2016/01/18/rescuing-rest.html
http://intercoolerjs.org/2016/05/08/hatoeas-is-for-humans.ht...
Doesn't anyone notice this? I feel like I'm taking crazy pills.
I tried implementing this and found it toilsome. It was far easier to use versioned URLs that followed a documented pattern.
When I checked about three years ago there wasn’t much in the open source community that I could build atop for clients. I also didn’t want to maintain an SDK client in addition to the API itself.
It's only toilsome when you try to shoe-horn it into a traditional data API, rather than accept it as a unique descriptive aspect of the early web architecture.
It only became problematic when we tried to shoe-horn it into traditional data APIs.
> JSON isn't a hypertext, it just isn't a good format for REST-ful services.
The point of REST was to take ideas from the browser and apply them to other services.
But HATEOAS is proving that REST only really makes sense if you've got a browser on the other end.
> Doesn't anyone notice this? I feel like I'm taking crazy pills.
The first comment I saw on this article was, _every single person writing a REST api should have to memorize this table_.
If you were trying to sell people on a new library and said, "everyone here has to memorize this table," you'd get laughed at as a crazy person.
That being said, I have never seen developing api client driven mainly by HATEOAS
Apart from being able to tell the client what functions they are allowed to use and a very superficial form of documentation I don’t really get the advantage of it.
I think that's a good idea, just like REST and HATEOAS are both ideas trying to solve problems.
I'm just skeptical that it'd work in practice. It seems vanishingly unlikely that consumers will use it correctly enough that changing the URLs in that mechanism wouldn't result in making the breakage even more mysterious.
When I say "it only makes sense if you've got a browser on the other end," the issue is you need a client approaching the complexity of a browser to do all the redirection and such that makes this level of flexibility for the API implementer to work.
I believe something like that is possible, but this isn't the way.