你能帮我理解你为什么给我这个警告吗?
本质上,这个post调用给我结果(userpayload),我在进一步的post调用中重用这些结果,并将数据保存到db中。
怎么了?
public monocreateuser(用户请求有效负载){
return webClientBuilder
.build()
.post()
.uri(settings.getUrl())
.accept(MediaType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.header("Authorization", settings.getApiToken())
.body(BodyInserters.fromValue(requestPayload))
.exchange()
.flatMap(clientResponse -> {
if (clientResponse.statusCode().isError()) {
return clientResponse.bodyToMono(Error.class)
.flatMap(error -> Mono.error(new CustomException(clientResponse.statusCode(), error)));
} else {
return clientResponse.bodyToMono(UserPayload.class)
.flatMap(user -> {
saveNewUser(user);
validateUser(user.getLinks());
return Mono.just(new ResponseEntity<>(user, HttpStatus.OK));
}).switchIfEmpty(Mono.error(new NotFoundCustomException("User Payload not found!")));
}
});
}
第二种方法:
专用mono validateuser(字符串uri){
webClientBuilder
.build()
.post()
.uri(uri)
.accept(MediaType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.header("Authorization", settings.getApiToken())
.retrieve()
.onStatus(HttpStatus::isError, clientResponse -> clientResponse.bodyToMono(Error.class)
.flatMap(error -> Mono.error(new CustomException(clientResponse.statusCode(), error)))
).bodyToMono(Void.class);
}
1条答案
按热度按时间yyyllmsg1#
最后,我就这样解决了:
第二种方法: