我正在尝试使用Web客户端创建REST调用
statusWebClient.post()
.uri(url)
.bodyValue(createBody(state, number))
.retrieve()
.bodyToFlux(String.class)
.doOnEach(response -> log.debug("Notification was sent to {}, response {}", url, response.get()))
.doOnError(exception -> log.warn("Failed to send notification to {}, cause {}", url, exception.getMessage()))
.subscribe();
我只想记录通话结果。成功时 - 使用响应正文记录成功消息,在 5XX 或超时或其他时 - 记录错误消息。日志应该在后台创建(而不是由创建调用的线程创建)但是doOnEach
每次都会执行,doOnError
工作正常,但也有
reactor.core.Exceptions$ErrorCallbackNotImplemented: org.springframework.web.reactive.function.client.WebClientResponseException$InternalServerError: 500 Internal Server Error from POST
记录在日志文件中。
我也在一些教程中看到过成功
方法,但在我的设置中有这样的方法。
如何记录成功和失败消息?
您可以为< code>WebClient设置自定义过滤器
WebClient.builder()
.filter(logRequest())
.filter(logResponse());
private ExchangeFilterFunction logRequest() {
return (clientRequest, next) -> {
log.debug("Request: {} {}", clientRequest.method(), clientRequest.url());
return next.exchange(clientRequest);
};
}
private ExchangeFilterFunction logResponse() {
return ExchangeFilterFunction.ofResponseProcessor(clientResponse -> {
log.debug("Response Status: {}", clientResponse.statusCode());
return Mono.just(clientResponse);
});
}
这就是我创造的。似乎工作正常
statusWebClient.post()
.uri(url)
.bodyValue(createTerminalStatusBody(state, msisdn))
.retrieve()
.bodyToMono(String.class)
.subscribeOn(Schedulers.boundedElastic())
.doOnSuccess(response -> log.debug("Notification was sent to {}, response {}", url, response))
.doOnError(exception -> log.warn("Failed to send notification to {}, cause {}", url, exception.getMessage()))
.onErrorResume(throwable -> Mono.empty())
.subscribe();
我使用Firebase云消息向我的Android客户端应用发送通知,每个通知都应该根据其注册令牌发送到单个设备。 每次我通过https://fcm.googleapis.com/fcm/send,我收到一个JSON响应,如下所示: 我发现和是多余的——它们不是同一个意思吗?我应该检查两个以确保一切正常吗??
我正在用spring-data-jpa构建一个SpringBoot应用程序。我知道如何从这个问题记录所有的SQL。使用Hibernate时如何打印带有参数值的查询字符串 但如果我只想记录失败的SQL,该怎么办?
我正在从前端客户端向指标微服务发送具有以下数据的 JSON: metrics-microservice目前处理的数据如下: 如您所见,我为每个时间间隔制作了一个新指标。我想知道我是否可以将所有时间间隔放入一个指标中?如果我不必在指标微服务上计算网络时间,而是在Grafana中计算,那就太好了。 另外,我是否可以在注册表.timer中放置成功/失败标记?我假设我需要在每个请求上使用计时器.build
我有一个未来[T],我想在成功和失败上映射结果。 比如说 如果我使用< code>map或< code>flatmap,它将只映射成功的未来。如果我使用< code>recover,它将只映射失败的期货。< code>onComplete执行回调,但不返回修改后的未来值。< code>Transform可以工作,但是需要两个函数而不是一个部分函数,所以有点难看。 我知道我可以做出一个新的,并用或/
我用JQuery 2.0.3这样做http post: json在服务器上发布和编写,但是响应和在AFAIK中没有启用。接收json数据的控制器代码为 我如何还能使成功和失败得到发布的json成功接收或提交失败的回调?它可以提交数据,但是来自服务器的响应不做任何事情,这与控制器方法没有区别,只是用语句写入数据。您是否可以建议一个改进,以便发布数据的javascript也接收响应,我认为如果服务器出
问题内容: 如果我有一个如下所示的SQL表,该如何计算当前的赢或输连胜(以及按季节对赢/输连胜进行分组/重置)。我想更新表并为每条记录填写条纹。 因此,对于#1,条纹将为“ -1”,#2将为“ 1”,#3将为“ 2”,但是一旦我们降至#7,它将再次重置为“ 1”。(+1表示“赢得1场比赛”,-1表示“失去1场比赛”,依此类推。) 问题答案: 对于每个游戏,计算与之前结果相同的游戏,这样就不会有中间