我需要以自定义格式记录 HttpRequest 正文和 HttpResponse 正文。 例如 “发送请求。标头:{},正文:{},uri:{}”
如何获取请求正文?
我正在尝试这个:
log.info("Send request. Headers: {}, Body: {}, uri: {}", request, headers, path);
return webClient.post()
.uri(path)
.headers(httpHeaders -> {....})
.bodyValue(request)...
但是在这种情况下,日志并不对应于发送请求的事实,而只是正在形成的反应器管道的一部分
我可以在发送/接收时以自定义格式记录 HttpRequest 正文和 HttpResponse 正文吗?
您不能按照目前的方式进行操作。
您可能可以使用finally子句进行一些解决,但是您需要将
HttpResponse
存储到变量中,然后记录响应,然后返回。
类似:
var response = webClient.post()...
log.info("Got response. Headers: {}, Body: {}, uri: {}", response.headers(), response.body(), response.uri());
return response;