It's probably rather early stages, but it would be nice if at some point Spring's web frameworks supported the HTTP QUERY method.

Comment From: bclozel

Do we know if this method is supported by HTTP clients and servers already?

Comment From: odrotbohm

Node 22.2 apparently already shipped it. I didn't file the ticket for immediate resolution, I just thought it would be nice to keep track of for a potential 7.0 at some point.

Comment From: bclozel

I meant servers that Spring Framework uses.

Comment From: bclozel

I have tested this and this already works already for functional handlers (both WebFlux and MVC). The annotation model is not supported at the moment because RequestMethod is an enum. We could consider expanding support in various places (including clients) or generally allowing custom methods as well.

I'll move this to the backlog until we get more demand for this and concrete use cases.

Comment From: desiderantes

Don't have any public projects, but for what is worth:

  • I have internal projects that plan to use QUERY for GraphQL, because we want our cache to store those results for some services
  • We have some POST endpoints that would work better as QUERY.
  • We have tooling that allows to set behaviour for caching of custom methods, but blessing a whitelist is extremely annoying across team boundaries.
  • GET query params are usually inadequate for more complex forms of querying, and passing a body for GET sometimes fails in annoying ways (like silently dropping the body if a middleware decides to). Failing to support QUERY is explicit and can be handled better.

So framework support would be a great help.

Comment From: desiderantes

The draft was refreshed recently

Comment From: bclozel

Closing in favour of #33430

Comment From: vpavic

I've also got interest in HTTP QUERY (and it eventually being supported in Spring), but from what I can see on IETF Datatracker this is still an expired draft and has been in that state for over year and a half now.

The link that was posted above (https://github.com/spring-projects/spring-framework/issues/32975#issuecomment-2308924537) is HTTP working group's internal draft, not an actual representation of the official state of this draft I believe (which IETF Datatracker is).

Does anyone have any insight into how likely it is this becomes an actual RFC in its current shape?

Comment From: desiderantes

It's still active as far as I can see

Comment From: vpavic

@desiderantes while the links you share do indicate there's some activity in the source repository where draft is managed, those are not authoritative sources on the actual state of this draft as per IETF - only IETF Datatracker is.

I guess the draft will eventually get updated over there too, but my point is that it doesn't appear this becoming an RFC is imminent so Spring should be careful about what it adds in the meanwhile.

IMO the safest thing to do is what @bclozel mentioned in https://github.com/spring-projects/spring-framework/issues/32975#issuecomment-2154347144:

generally allowing custom methods

Comment From: desiderantes

Just wanted to update that the draft is active again

Comment From: desiderantes

Also wanted to note that, even if all custom methods are allowed, QUERY support would be beneficial, since QUERY is a safe method that can be cached and retried.