More links here: https://news.ycombinator.com/item?id=44510745
Neo4j's old REST API was really good about that. See e.g. get node: https://neo4j.com/docs/rest-docs/current/#rest-api-get-node
Perhaps the real issue was that XML is awful and a much thinner resource representation simplifies most of the problems for developers and users.
{
… resource model
_links: {
“delete” : { “href” : “.” }
}
In this example you receive list of permitted operations embedded in the resource model. href=. means you can perform this operation on resource self link.I can see some meat on these bones. The counterpoint is that the protocol is now chattier than it would be otherwise... But a full analysis of bandwidth to the client would have to factor that you have to ship over a whole framework to implement those rules and keep those rules synchronized between client and server implementation.
So that never got done (because it's complex) and people started building apps like "my airline reservation app" but then realized to to build that domain app you don't need all the abstraction of a full REST system.