【问题标题】:Converting JSON response to Model Object using Chopper library in flutter?在颤动中使用 Chopper 库将 JSON 响应转换为模型对象?
【发布时间】:2021-02-07 05:38:21
【问题描述】:

我正在使用 Chopper 库来调用 REST API 调用。

我已按照Raywenderlich Chopper Tutorial 教程在我的项目中实现 API 调用。

在本教程中,他们使用以下代码将 JSON 响应转换为 Popular 模型对象。

    try {
      var mapData = json.decode(body);
      **var popular = Popular.fromJson(mapData);**
      return response.copyWith<BodyType>(body: popular as BodyType);
    } catch (e) {
      chopperLogger.warning(e);
      return response.copyWith<BodyType>(body: body);
    }

这很好。但在我的项目中,我必须进行多个 API 调用,并且需要解码多个 JSON 响应以响应 Dart 模型对象。

那么如何解码多个 API 调用响应?我是否需要执行以下操作:

      if(mapData['popularResponse'] != null) {
        Popular popularResponse = Popular.fromJson(mapData);
        return response.copyWith<BodyType>(
                  body: popularResponse as BodyType);
      } else if(mapData['articleResponse'] != null) {
        Article articleResponse = Article.fromJson(mapData);
        return response.copyWith<BodyType>(
                  body: articleResponse as BodyType);

      } else if(......) {
        ......
      }

下一步怎么做?

【问题讨论】:

    标签: json api rest flutter chopper


    【解决方案1】:

    每个 api 文件一个请求,这是我认为可能的唯一方法,我认为 http 包已经足够好,而 chopper 比它的价值更麻烦。

    【讨论】:

      猜你喜欢
      • 2018-02-11
      • 1970-01-01
      • 2020-08-11
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多