Flutter开发效率提升1000%,Flutter Quick教程之定义Api(四)

现在我们来讲讲,如何建立Api 响应数据的变量。

这个变量,本质上就是对根据json数据生成model的引用。

这个name就是引用名。

这个path,就是引用的Model Data里面的具体字段,在实际操作过程中,校验是由右边的json数据过滤来完成的。

比如path引向了model里面的一个具体字段,那么,json数据会自动过滤出来这些字段。json数据和model是一一对应的,所以过滤出来的数据,就自动对应model里面的数据。

Path是有一定规则的,很简单,就三条,但是,path后面再讲,先举个具体的例子来解释上面的这段话。

假设json数据是这个

复制代码
{
  "status": 1,
  "message": "success",
  "data": {
    "name": "jack"
  }
}

那么生成的model是这个

Dart 复制代码
class Data {
  int? status;
  String? message;
  DataData? data;

  Data({
    this.status,
    this.message,
    this.data,
  });

  Data.fromJson(Map<String, dynamic> json) {
    status = json['status'];
    message = json['message']?.toString();
    data = json['data'] != null ? DataData.fromJson(json['data']) : null;
  }

  Map<String, dynamic> toJson() {
    return {
      'status': status,
      'message': message,
      'data': data?.toJson(),
    };
  }
}

class DataData {
  String? name;

  DataData({
    this.name,
  });

  DataData.fromJson(Map<String, dynamic> json) {
    name = json['name']?.toString();
  }

  Map<String, dynamic> toJson() {
    return {
      'name': name,
    };
  }
}

那么,我们进行输入,

Name输入框里面输入 someattr

Path 输入框里面输入 @.message

那么,这时候 someattr就指向了Data的message字段。

实际使用的时候,就是根据Name这个字段的值进行引用,如此实现对json数据的引用。

后面,我们将具体讲Path的规则。

官方网址:www.appshop.cc

相关推荐
我命由我123451 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_2 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
东风破_3 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
圣殿骑士-Khtangc4 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne5 小时前
【ijkplayer】 硬解码流程
前端
kyriewen6 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
捡田螺的小男孩6 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒6 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端
90后的晨仔6 小时前
uni-app 路由跳转与页面导航 —— 终极详解(对标 iOS / Android / 鸿蒙三端原生)
前端
Heo7 小时前
大厂前端调试不能只会debugger
前端·javascript·面试