当前位置:网站首页>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本地解析等参考
边栏推荐
- By figure, a (complete code at the end)
- 链动2+1模式开发系统
- 账务处理程序、记账凭证账务处理程序、汇总记账凭证账务处理程序、科目汇总表账务处理程序、会计信息化概述、信息化环境下会计账务处理的基本要求(此章出1道小题)
- 【泰山众筹】模式为什么一直都这么火热?是有原因的
- 借贷记账法下的账户结构、借贷记账法的记账规则、借贷记账法下的账户对应关系与会计分录
- hackmyvm-random walkthrough
- 阿里技术官手码12W字面试小册
- VS2017报错:LNK1120 1 个无法解析的外部命令
- OpenCore 黑苹果安装教程
- Pycharm packages the project as an exe file
猜你喜欢
随机推荐
敏感信息泄露
强化学习笔记:DDPG
关于我的项目-实现一个数据库~
svg图片实战:自定义view打造中国地图
云安全笔记:云原生全链路加密
Laravel 的关联模型 及其 预加载多个关联 with使用方法
浅谈性能优化:APP的启动流程分析与优化
真·杂项:资本论阅读笔记(随缘更新)
一个网络安全小白鼠的学习之路—nmap高级用法之脚本使用
Microsoft Office安装全过程记录
OPENSSL基本实验以及OPENSSL详解
Go Build报错汇总(持续更新)
什么是广告电商商业模式?这几个门派告诉你
VS2017报错:LNK1120 1 个无法解析的外部命令
如何在正则表达式里表达可能存在也可能不存在的内容?
财产清查概述、 全面清查的情况、局部清查的情况、财产清查的方法、财产清查结果的处理
The CTF introduction of PHP file contains
Win10 解决AMD平台下SVM无法开启的问题
By figure, a (complete code at the end)
Pycharm packages the project as an exe file