[openstack-dev] [Ceilometer] Complex query BP implementation

Julien Danjou julien at danjou.info
Tue Dec 24 09:23:30 UTC 2013

On Tue, Dec 24 2013, Jay Pipes wrote:

> My main objection to the proposed solution is that it violates the principle
> in all of the OpenStack REST APIs that a POST request *creates* a resource.
> In the proposed API, you use:
> POST /query/$resource
> to actually retrieve records of type $resource. In all the other OpenStack
> REST APIs, the above request would create a $resource subresource of a
> "query" resource. And, to be honest, people expect HTTP REST APIs to use the
> GET HTTP method for querying, not POST. It's an anti-pattern to use POST in
> this way.

I thought the same, but it seems that actually using GET with a body
isn't terribly standard, though not strictly disallowed AFAIU. So I
think supporting both, GET for sanity and POST for compatibility, would
make sense.

> Now, that said... I think that the advanced query interface you propose does
> indeed have real-world, demanded use cases. Right now, you are 100% correct
> that the existing GET request filters are simplistic and don't support
> either aggregation or advanced union or intersection queries.
> I would definitely be supportive of using POST to store "saved queries" (as
> you mention in your wiki page). However, the main query interface should
> remain the GET HTTP method, including for ad-hoc advanced querying.

Storing queries doesn't sound like something we would want to do.

Julien Danjou
;; Free Software hacker ; independent consultant
;; http://julien.danjou.info
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131224/419b47f8/attachment.pgp>

More information about the OpenStack-dev mailing list