Sometimes, I feel that we ought to have a simple protocol, on top of HTTP, to simply do remote procedure calls and throw out all this HTTP verbs crap. Every request is a http POST, with or without any body and the data transfer is in binary. So that objects can be passed back and forth between client and server.

Sure, there is gRPC, but it requires another API specification (the proto files).

There I said it. HTTP Verbs constrained REST APIS are the worst thing ever. I hate them.

They introduce un-necessary complexity, un-necessary granularity and they almost always stray away from the "REST principles". To hell with "Hypermedia" stuff.

I find it such a joy to program in server rendered pages. No cognitive overhead of thinking in "REST".

But, of course, all this is only where the client and server are developed by the same person / company.

For publishing data and creating API for third party use, we have no serious, better alternative to REST.