This is the reason I've stopped calling APIs "RESTful". Everyone has a different opinion on where in the "REST spectrum" a given API falls, and in the end, very little of what you described actually impacts whether an API is usable or not.
The thing is it's not a standard. It's a set of protocols and good practices. That's what makes it really difficult to limit in space.
But it's easy to know you're not going in the right direction when a choice of yours contradicts or duplicates something clearly mentioned in the specifications of one of these protocols.
For example, the ".json" suffix to URLs is a convention is Rails. How can a language/framework-agnostic API borrow conventions from a framework?
It's not about usability. It's about consistency which will impact developers perception of simplicity. They'll just have less work to do before they can actually get started using it.
Comments
This is the reason I've stopped calling APIs "RESTful". Everyone has a different opinion on where in the "REST spectrum" a given API falls, and in the end, very little of what you described actually impacts whether an API is usable or not.
The thing is it's not a standard. It's a set of protocols and good practices. That's what makes it really difficult to limit in space.
But it's easy to know you're not going in the right direction when a choice of yours contradicts or duplicates something clearly mentioned in the specifications of one of these protocols.
For example, the ".json" suffix to URLs is a convention is Rails. How can a language/framework-agnostic API borrow conventions from a framework?
It's not about usability. It's about consistency which will impact developers perception of simplicity. They'll just have less work to do before they can actually get started using it.
I know what you mean, but I really don't want to call REST correctness a matter of opinion. The examples he just gave are well-established.