有没有办法查明 ServerRequest 是否有主体?
Is there a way to find out if ServerRequest has a body?
我想检查 ServerRequest
是否包含正文。
有没有办法在调用 bodyToMono
方法之前找出它?
您可以在服务器请求实例中使用.body(BodyExtracter)
方法
如果正文包含数据,要转换为具有 true
值的 Mono<Boolean>
,请使用
Mono<Boolean> bodyContains = request.body((serverHttpRequest, context) -> serverHttpRequest
.getBody()
.collectList()
.map(List::isEmpty));
假设客户端确实发送相应的 headers,您可以通过检查 content-length
header 来实现它:
request.headers().contentLength().orElseGet(0) > 0
您可以直接在处理程序中使用它,也可以在过滤器中使用它
我想检查 ServerRequest
是否包含正文。
有没有办法在调用 bodyToMono
方法之前找出它?
您可以在服务器请求实例中使用.body(BodyExtracter)
方法
如果正文包含数据,要转换为具有 true
值的 Mono<Boolean>
,请使用
Mono<Boolean> bodyContains = request.body((serverHttpRequest, context) -> serverHttpRequest
.getBody()
.collectList()
.map(List::isEmpty));
假设客户端确实发送相应的 headers,您可以通过检查 content-length
header 来实现它:
request.headers().contentLength().orElseGet(0) > 0
您可以直接在处理程序中使用它,也可以在过滤器中使用它