我想使用Spring Webflux向Paysafe测试环境发出一个授权请求。我试过这个:
Mono<AuthorizeRequest> transactionMono = Mono.just(transaction);
return client.post().uri("https://api.test.paysafe.com/cardpayments/v1/accounts/{id}/auths", "123456789")
.header(HttpHeaders.CONTENT_TYPE, "application/json")
.header(HttpHeaders.AUTHORIZATION, "Basic dGVz.......")
.accept(MediaType.APPLICATION_JSON)
.contentType(MediaType.APPLICATION_JSON)
.body(transactionMono, AuthorizeRequest.class)
.retrieve()
.bodyToMono(AuthorizeResponse.class);但我得到了:
org.springframework.web.reactive.function.client.WebClientResponseException$BadRequest: 400 Bad Request
at org.springframework.web.reactive.function.client.WebClientResponseException.create(WebClientResponseException.java:174)
at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultResponseSpec.lambda$createResponseException$15(DefaultWebClient.java:512)你知道我怎么解决这个问题吗?
发布于 2019-09-15 00:10:25
您向其发送请求的服务器回复了http状态代码400。这意味着,您的请求似乎是错误的。
例如,您可能忘记了包含一个参数。
发布于 2021-11-29 07:44:44
400错误的请求可能有很多原因。要找出导致问题的确切原因,请尝试打印响应正文,如下所示:
.exchange()
.flatMap(clientResponse -> {
if (clientResponse.statusCode().is5xxServerError()) {
clientResponse.body((clientHttpResponse, context) -> {
return clientHttpResponse.getBody();
});
return clientResponse.bodyToMono(String.class);
}
else
return clientResponse.bodyToMono(String.class);
})
.block();这可以帮助你找到正确的原因,然后你就可以修复
https://stackoverflow.com/questions/57935651
复制相似问题