How to Design Better APIs
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.<p>Sure, there is gRPC, but it requires another API specification (the proto files).<p>There I said it. HTTP Verbs constrained REST APIS are the worst thing ever. I hate them.<p>They introduce un-necessary complexity, un-necessary granularity and they almost always stray away from the "REST principles". To hell with "Hypermedia" stuff.<p>I find it such a joy to program in server rendered pages. No cognitive overhead of thinking in "REST".<p>But, of course, all this is only where the client and server are developed by the same person / company.<p>For publishing data and creating API for third party use, we have no serious, better alternative to REST.