使用 API 时如何处理两种不同类型的响应

how to handle two different types of response when consuming an API

我必须使用 REST API,它可以 return 两种不同类型的响应。这是我的代码:

    HttpResponse<String> response = client.send(request,
            HttpResponse.BodyHandlers.ofString());
    myObject = objectMapper.readValue(response.body.toString(),MyObject.class);

问题是我可能会收到 MyObject 或 MyError 作为响应,我应该如何管理它?

如果当您收到 MyError 对象时您还收到错误 HTTP 状态,您可以对其进行评估,以解析对 MyObject 或 MyError 的响应

如果您总是收到 HTTP 状态 200,则说明 API 设计有问题,您需要对此 API 进行一些更改以解决此问题。

您应该查找 HTTP 响应代码,并根据代码将响应投射到正确的对象。