| JSON RPC: - Everything is a POST, so normal HTTP caching is out of the question. - JSON RPC code generators are non-existent or badly maintained depending on the language. Same with doc generators. - Batching is redundant with HTTP2, just complicates things. - Because everything is a POST normal logging isn't effective (i.e. see the url in logs, easy to filter etc). You'll have to write something yourself. - Not binary like Protobufs or similar But yeah, "the silent pro's choice"... Let's keep it silent. JSON RPC is pretty much dead at this point and superseded by better alternatives if you're designing an RPC service. |
Very much so. It’s in a terrible state where I’ve looked. Most of the tooling is by OpenAPI or similar which comes with a bloatload of crap that is only marginally better than say SOAP. It needs to be much simpler.
> - Not binary like Protobufs or similar
Agreed. This is not an issue for small things that can be base64 encoded but once you need large blob transfers you don’t have any reasonable option. This is a problem in eg graphql which also misses the mark and you have to step outside for things like file uploads.
It feels like the whole standardization effort around json rpc is weak. It doesn’t address the needs of modern RPC-like systems. Which is unfortunate because there’s a real opportunity to improve upon the chaos of REST.