Which is often what you want - a lot of things in the real world are more easily understood through verbs than nouns, which is what the essay is all about.
REST says that everything has to be an entity, which is why so many "REST" APIs end up just exposing their database as CRUD rather than offering a vocabulary that actually makes sense for the ___domain. When nouns are the only important things in your ___domain then it works. When verbs are important in your ___domain it doesn't.
> it's relatively easy to ensure that the non-idempotent HTTP verbs (POST, PUT/PATCH, ignoring DELETE) can be made "repeatable" with use of etags or other unique identification.
Most "REST" APIs "in the wild" don't actually do that (or, worse, do it incorrectly), so I'd question the idea that it's actually easy in practice.
Which is often what you want - a lot of things in the real world are more easily understood through verbs than nouns, which is what the essay is all about.
REST says that everything has to be an entity, which is why so many "REST" APIs end up just exposing their database as CRUD rather than offering a vocabulary that actually makes sense for the ___domain. When nouns are the only important things in your ___domain then it works. When verbs are important in your ___domain it doesn't.
> it's relatively easy to ensure that the non-idempotent HTTP verbs (POST, PUT/PATCH, ignoring DELETE) can be made "repeatable" with use of etags or other unique identification.
Most "REST" APIs "in the wild" don't actually do that (or, worse, do it incorrectly), so I'd question the idea that it's actually easy in practice.