【问题标题】:how to handle two different types of response when consuming an API使用 API 时如何处理两种不同类型的响应
【发布时间】:2021-09-16 16:05:58
【问题描述】:

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

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

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

【问题讨论】:

    标签: java deserialization httpclient httpresponse objectmapper


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您应该查找 HTTP 响应代码,并根据该代码将响应转换为正确的对象。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-13
        • 2022-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多