当前位置:网站首页>Flutter入门之网络请求篇
Flutter入门之网络请求篇
2022-08-02 03:27:00 【翊兮】
本章主要介绍Flutter的网络请求相关操作
Dio:略!!!
Retrofit For Dart:
开局添加如下依赖
dependencies:
retrofit: ^1.3.4
logger: ^0.9.1
dev_dependencies:
retrofit_generator: ^1.3.4+2
build_runner: ^1.10.0
json_serializable: ^3.2.0
#注:json_serializable必须要添加 否则实体类不会自动生成然后就举个栗子
import 'package:json_annotation/json_annotation.dart';
part 'ResultVo.g.dart';
@JsonSerializable()
class ResultVo{
int code;
String msg;
dynamic obj;
ResultVo({this.code, this.msg, this.obj});
factory ResultVo.fromJson(Map<String, dynamic> json) => _$ResultVoFromJson(json);
Map<String, dynamic> toJson() => _$ResultVoToJson(this);
}之后 运行
flutter pub run build_runner build
ok
这里的意思就是
//固定格式
factory 类名.fromJson(Map<String, dynamic> json) =>_$类名FromJson(json);
Map<String, dynamic> toJson() => _$类名ToJson(this);
//配置好 part ‘类名.g.dart’
//添加序列化标注,@JsonSerializable(),注意括号
//新建类和属性(字段)以及带参构造方法,注意属性类型解析的话建议用下面的工具类解析完成后略作修改 就很nice
明明讲的是网络请求,干嘛要扯上json??? 最终都要解析的嘛....哈哈哈哈咳咳咳咳咳
关于Retrofit 其实跟上面也很类似
可直接CV下面示例
part 'RestClient.g.dart';
@RestApi(baseUrl: "http://xxx.xx.xx.xx/xxx/")
abstract class RestClient {
factory RestClient(Dio dio, {String baseUrl}) = _RestClient;
@POST("/my/login")
Future<ResultVo> teacher_login(@Field() String account,
@Field() String password);
}
var dio = Dio(BaseOptions(
connectTimeout: 5000,
receiveTimeout: 10000,
));
final client = RestClient(dio);
final logger = Logger();之后运行
flutter pub run build_runner build
稍等片刻结果看得见!!! 哈哈
更多Dart-JSON本地解析等参考
边栏推荐
猜你喜欢

云安全笔记:云原生全链路加密

备战金九银十:Android 高级架构师的学习路线及面试题分享

一分钟get:缓存穿透、缓存击穿、缓存雪崩

同时安装VirtualBox和VMware,虚拟机如何上网

ES6 iterator explanation example

树莓派4b安装win11/10过程全教程(附蓝屏inaccessible boot device解决办法)
![WeChat applet development video loading: [Rendering layer network layer error] Failed to load media](/img/24/e12a1312aee28a43428b2ae0bfbe00.png)
WeChat applet development video loading: [Rendering layer network layer error] Failed to load media
![[Hello World教程] 使用HBuilder和Uni-app 生成一个简单的微信小程序DEMO](/img/98/7ad7fcee0deaaa92446098d1d99dc3.png)
[Hello World教程] 使用HBuilder和Uni-app 生成一个简单的微信小程序DEMO

VIKINGS: 1 vulnhub walkthrough

成本会计的概念、产品成本核算的要求、产品成本核算的对象与成本项目、产品成本的归集和分配(可能考判断)、产品成本计算方法 (三种:产品的品种(品种法),批次(分批法),步骤(分步法))
随机推荐
二舅为什么能刷屏?这三件事对企业公关的启示
还原最真实、最全面的一线大厂面试题
面试必备:Android性能分析与优化实战进阶手册
关于我的专利、软著~
张量乘积—实验作业
laravel 查询数据库获取结果如何判断是否为空?
真·杂项:资本论阅读笔记(随缘更新)
【一句话攻略】彻底理解JS中的回调(Callback)函数
Debian 12 Bookworm 尝鲜记
Activity
Go Build报错汇总(持续更新)
kotlin语法总结(一)
Windows下MySQL数据库报“ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:8000‘ (10061)”错误解决
OpenCore 黑苹果安装教程
清理c盘爆满告急,C盘清理
laravel 写api接口时 session获取不到处理办法
会计账簿、会计账簿概述、会计账簿的启用与登记要求、会计账簿的格式和登记方法
Jetpack中各个组件简介
kotlin语法总结(二)
Larave 自定义公共函数以及引入使用