如何记录 Spring WebClient 响应
How to log Spring WebClient response
我是 Spring WebClient 的新手。有人可以建议记录来自另一个网络服务的 REST 请求和响应的最佳方法吗?
我已经在问题中看到了记录请求的示例,但还必须记录对 POST 调用的响应和请求。
谢谢。
一种选择是使用 onStatus
函数。优点是您可以对不同的状态代码做出不同的反应:
.onStatus(HttpStatus::is4xxClientError, res -> {
res.toEntity(String.class).subscribe(
entity -> log.warn("Client error {}", entity)
);
return Mono.error(new HttpClientErrorException(res.statusCode()));}
)
但请注意,这将异步记录,这意味着它可能会在您已经记录了不同的内容之后记录。我现在正在使用这种方式,但我知道它并不完美,所以我很乐意看到更好的建议。
我是 Spring WebClient 的新手。有人可以建议记录来自另一个网络服务的 REST 请求和响应的最佳方法吗?
我已经在问题中看到了记录请求的示例,但还必须记录对 POST 调用的响应和请求。
谢谢。
一种选择是使用 onStatus
函数。优点是您可以对不同的状态代码做出不同的反应:
.onStatus(HttpStatus::is4xxClientError, res -> {
res.toEntity(String.class).subscribe(
entity -> log.warn("Client error {}", entity)
);
return Mono.error(new HttpClientErrorException(res.statusCode()));}
)
但请注意,这将异步记录,这意味着它可能会在您已经记录了不同的内容之后记录。我现在正在使用这种方式,但我知道它并不完美,所以我很乐意看到更好的建议。