spring-cloud/spring-cloud-gateway

MVC ProxyExchange should support request body for GET requests

Open

#2,185 opened on Mar 18, 2021

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Java (3,204 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (4,284 stars)
PR merge metrics
 (Avg merge 1d 21h) (18 merged PRs in 30d)

Description

Is your feature request related to a problem? Please describe. I've customized my RestTemplate to support request bodies for GET requests, but when ProxyExchange builds the request in its get() method, it doesn't include the body: https://github.com/spring-cloud/spring-cloud-gateway/blob/62f64ae80f78c6bd9dda91b6754be071c13907c1/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/ProxyExchange.java#L273-L276

Describe the solution you'd like The solution might simply be to call .body(body()) in get() the same way it's done for other request methods.

Describe alternatives you've considered I looked into creating a ProxyExchange subclass, but the headers, body, and exchange methods are all private, so I believe it would be impossible or hacky to override the functionality of the get method.

Additional context N/A

Contributor guide