使用 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 响应代码,并根据代码将响应投射到正确的对象。
我必须使用 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 响应代码,并根据代码将响应投射到正确的对象。