Stop calling everything REST

Everyone needs to read the following again:

I'll be concise. We're all busy. Also, I'm lazy.

Not at the highest level? It's not REST. Stop calling it REST. It's probably web CRUD and RPC.

Use of Microsoft WebAPI does not christen thee "REST". Swagger does not transmute an API to REST1. Most importantly, calling it REST does not make it REST. Speech-act theory won't help you here. If it's not REST, calling it REST does nothing more than make you wrong.

Regarding Richardson Maturity Model and Roy Fielding's thesis (and blog), the steps are not levels of REST. These are steps to REST.

The journey is not REST. The destination is REST.

  • No hypermedia => No REST.

  • No HATEOAS => No REST.

Note the periods at the end of the previous two lines. They are key. PERIOD.

You might be RESTsome, but you aren't RESTful.

You might be RESTistic, but you aren't RESTastic. 2

Important endnote: this is about what you call REST. This doesn't mean REST is the answer. No document written by a single individual is binding de jure nor de facto. Checks and balances are required. There is no committee REST spec. In that regard, REST is fiction. Yet, I can't call a pizza a Smurf just because I feel like it.


1
In fact, using Swagger may actually prevent you from making a REST service.
2
In the sense that your image in the mirror is human-istic, but it doesn't have some human. It has NO human. Is is NO human.