If you don't know the size of the keys, you can use POST, I'm not advocating this as a replacement, but as an alternative.
My typical usage is to lookup up to a handful of keys, of known size, that fit comfortably in any URI.
I recently hit an issue while trying to implement a _list document for FreeSWITCH (FS) configuration, that is queried directly.
Unfortunately, i cannot redirect or rewrite the request for a _list with keys via POST, and I cannot modify the way FS does its queries, so I had to put a middleware in front just to handle this query for me.
With GET, it would be trivial to handle this case, I'd leave it to the developer to decide whether to use GET or POST.