4 ms·
Elasticsearch: it accepts JSON bodies in GET requests to define the parameters of a search. These can get quite large so it's preferable to encoding everything
by saryant 12y ago
Elasticsearch: it accepts JSON bodies in GET requests to define the parameters of a search. These can get quite large so it's preferable to encoding everything in the query string. The operation is read-only, so an argument can be made that a GET makes more sense than a POST.
That said, I POST my search params to Elasticsearch anyways.
- robryk 12y agoAren't message bodies on GET supposed not to impact the returned result at all?
- colanderman 12y agoYes: http://stackoverflow.com/a/983458 http://stackoverflow.com/a/983458
- Joeri 12y agoIs that really restful though? If you need that many parameters to specify which resource you mean, you lose pretty much all of the benefit of a restful architecture.
- acdha 12y agoGET vs. POST is a question of whether the request is intended to change state. Using JSON for a query is nice for preserving structure (e.g. nesting a Boolean expressions, not needing PHP-style array notation, etc.) but it doesn't change the idea that it's a GET request which can safely be repeated without affecting server state, may be cached for other clients, etc.