return DataBufferUtils.join(request.getBody())
.map(dataBuffer -> {
byte[] bytes = new byte[dataBuffer.readableByteCount()];
dataBuffer.read(bytes);
DataBufferUtils.release(dataBuffer);
return bytes;
})
.defaultIfEmpty(new byte[0])
.doOnNext(bytes -> {
String body = new String(bytes, StandardCharsets.UTF_8).trim();
logger.debug("原始 body : {} ", body);
CacheRequestEntity cacheRequestEntity = new CacheRequestEntity();
cacheRequestEntity.setRequestBody(body);
cacheRequestEntity.setRequestLine(exchange.getRequest().getURI());
ExchangeSupport.put(exchange, GATEWAY_REQUEST_CACHED_REQUEST_BODY_ATTR, cacheRequestEntity);
}).then(chain.filter(exchange));
spring cloud gateway greenwich版本 缓存body
最新推荐文章于 2024-08-12 10:17:01 发布