使用Spring WebClient发送携带请求体的GET请求是否可行?
WebClient GET请求携带请求体实现方案
GET请求携带请求体不属于常规设计规范,但对接现有特定API时可通过以下方式实现:
默认webClient.get()快捷方法返回的是WebClient.RequestHeadersUriSpec<?>类型,Spring默认GET请求不需要携带请求体,因此该类型未提供请求体设置入口。我们可以手动指定请求方法为GET,获取支持设置请求体的RequestBodyUriSpec实例即可,示例代码如下:
webClient.method(HttpMethod.GET) .uri("/employees") .body(Mono.just(empl), Employee.class) .retrieve() .bodyToMono(Employee.class);
兼容说明
Spring WebClient默认绑定的Reactor Netty客户端原生支持GET请求携带请求体,如果你使用其他第三方响应式HTTP客户端作为底层实现,需要提前确认对应版本是否支持该用法。
内容的提问来源于stack exchange,提问作者MirekZelentFan
相关产品推荐
相关产品推荐

