如果 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();