Earlier quoted context omitted.
GET with a body is pretty useless because the standard doesn’t allow the body to affect the results. So, proxies, browsers, etc. are free to ignore the body when caching results.
Quick workaround: GET /search?key=$hash(body)
Reminds me Google Maps: GET /search?pb=$protobuf_to_string.