I’ve been trying to promote the term RESTless to describe rpc-over-HTTP apis.
I’d love to hear your case for RPC-style approaches to HTTP APIs.
My impression is that HATEOAS is essential to REST. Without it, we’re talking about an RPC API in disguise. Would you agree with this statement?
I would, yes. It’s right up front: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
This chapter introduces and elaborates the Representational State Transfer (REST) architectural style for distributed hypermedia systems,
But what does RESTful actually actually mean?
I’ve sadly given up trying to push this one.
Words are only useful if their meaning is understood by the listener. I haven’t had much (or indeed any) success trying to make others use the word RESTful properly.
The thing that always seems to be omitted in these examples is how you represent a search engine RESTfully.
Yeah, the problem with search is the arbitrariness of the search queries. If it’s a general text search (e.g., Google), then a GET to a /search endpoint with a query (what Google does) is very RESTful. If it’s a bunch of key-value pairs, e.g., /search?givenname=ted&familyname=young&pedantic=true then it’s more difficult from a discovery point of view. That’s where some of the template stuff comes in.