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

相关推荐
wangxiaoxuan2171 小时前
SLAM 的基本结构:前端、后端、回环与地图优化
前端·机器人·科沃斯八界
Agent世界4 小时前
用 CDP 做发布自动化:四道机器闸门与产物验收
前端·javascript
FungLeo4 小时前
成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
前端·vue.js·编辑器·markdown·文件上传·formdata·附件管理
疯华整猫5 小时前
否决 Flutter 提案那天,我发现自己也说不清 Framework 管什么
android
某哈压力大5 小时前
SSH 突然 Connection reset?不是密钥坏了,是 OpenSSL 把 sshd 干趴了
前端·node.js·命令行
程序员大阳5 小时前
副队长ES6+教程(3)--解构赋值
前端·javascript·es6·赋值·解构
神膘护体小月半5 小时前
css - 元素背景图由 hover 触发,初次加载时闪动的解决办法
前端·javascript·css
Geek-Chow5 小时前
00 Apple Code Signing, In Depth — A Series
ios
程序员大阳5 小时前
副队长ES6+教程(2)--let 与 const
前端·javascript·es6·const·let·var
deli0076 小时前
写满 200GB 后 SSD 为什么掉到 95MB/s?SLC 缓存模型实测
前端