如果 Web 客户端响应不成功(400,404 状态),如何 return 新建 Dto
How to return New Dto if Web Client response is not successful (400,404 status)
@Service
public HumoGetList getHumoCardsByNumber() throws SSLException {
HumoGetList responseSpec = client
.post()
.uri("https://192.168.100.133/v2/mb/customers")
.headers(headers -> {
headers.setBearerAuth("OnlyForTestToken");
headers.setContentType(MediaType.APPLICATION_JSON);
})
.bodyValue("{\n" +
"\"params\": {\n" +
"\"phone\": \"" 99895655988 "\",\n" +
"\"userId\": \"1111111111\"\n" +
"}\n" +
"}")
.retrieve()
.bodyToMono(HumoGetList.class)
.doOnError(s -> System.err.println(s))
.doOnNext(s -> System.err.println(s)).block();
return responseSpec;
}
https://192.168.100.133/api/customers 如果 Json 中的值在数据库中有此 uri 响应,值。
例如,如果我发送 4367415,我会收到 200 状态的回复
{
"id": "123456789",
"result": {
"Customer": [
{
"customer": "124124",
"bankName": "OneLoveBank",
"cardholder": "John Smith",
}
]
}
}
我的服务 return 具有值的对象。确实有效,但是
如果我的请求没有找到答案或者我的值可能是错误的(少于 6 个符号),我会以 400 和 404 状态响应。
但我想,如果我的请求是错误的,可能不成立,我需要在我的服务中 return new HumoGetList Dto
(具有空值)。
.retrieve()
.bodyToMono(HumoGetList.class)
.onErrorReturn(new HumoGetList())
.block();
@Service
public HumoGetList getHumoCardsByNumber() throws SSLException {
HumoGetList responseSpec = client
.post()
.uri("https://192.168.100.133/v2/mb/customers")
.headers(headers -> {
headers.setBearerAuth("OnlyForTestToken");
headers.setContentType(MediaType.APPLICATION_JSON);
})
.bodyValue("{\n" +
"\"params\": {\n" +
"\"phone\": \"" 99895655988 "\",\n" +
"\"userId\": \"1111111111\"\n" +
"}\n" +
"}")
.retrieve()
.bodyToMono(HumoGetList.class)
.doOnError(s -> System.err.println(s))
.doOnNext(s -> System.err.println(s)).block();
return responseSpec;
}
https://192.168.100.133/api/customers 如果 Json 中的值在数据库中有此 uri 响应,值。 例如,如果我发送 4367415,我会收到 200 状态的回复
{
"id": "123456789",
"result": {
"Customer": [
{
"customer": "124124",
"bankName": "OneLoveBank",
"cardholder": "John Smith",
}
]
}
}
我的服务 return 具有值的对象。确实有效,但是 如果我的请求没有找到答案或者我的值可能是错误的(少于 6 个符号),我会以 400 和 404 状态响应。
但我想,如果我的请求是错误的,可能不成立,我需要在我的服务中 return new HumoGetList Dto
(具有空值)。
.retrieve()
.bodyToMono(HumoGetList.class)
.onErrorReturn(new HumoGetList())
.block();