From there, I have conflicting emotions with this:
Although the web generally works on HATEOAS type principles (where we go
to a website's front page and follow links based on what we see on the
page), I don't think we're ready for HATEOAS on APIs just yet.
I do not think "being ready" is an argument to use or not use HATEOAS. Sure, HATEOAS as defined by Roy Fielding contains a lot of clutter, but there's nothing bad if it makes sense to assume a client that does not know how to construct URLs. Generally I find it nice to have something similar to: GET /fooes
{
"fooes": [
"foo": {
"bar": {
"some": "baz"
},
"name": "The Mighty Foo",
"id": "the-mighty-foo",
"href": "/fooes/the-mighty-foo"
},
...
]
}