dio java_Flutter -------- dio网络请求

dio是Flutter中文网开源的一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等...

1.添加依赖#

dependencies:

dio: 2.1.x #latest version

2.导入库

import 'package:dio/dio.dart'; //导入前需要配置

get

String data;

void _getDio() async {

Response response =

await Dio().get("https://jsonplaceholder.typicode.com/posts/1");

print("get ====== "+response.toString());

final body = json.decode(response.toString());

setState(() {

data = body['title'];

print("title ====== "+data);

});

}

post

void _postDio() async {

var headers = Map();

headers['loginSource'] = 'IOS';

headers['useVersion'] = '3.1.0';

headers['isEncoded'] = '1';

headers['bundleId'] = 'com.nongfadai.iospro';

headers['Content-Type'] = 'application/json';

Dio dio = Dio();

dio.options.baseUrl = "http://api.juheapi.com/japi/toh";

dio.options.connectTimeout = 60000;

dio.options.receiveTimeout = 60000;

dio.options.headers.addAll(headers);

dio.options.method = 'post';

var params = {

'v': '1.0',

'month': '7',

'day': '25',

'key': 'bd6e35a2691ae5bb8425c8631e475c2a'

};

Options option = Options(method: 'post');

Response response = await dio.post("http://api.juheapi.com/japi/toh",

/*data: {

"v": "1.0",

"month": "7",

"day": "25",

"key": "bd6e35a2691ae5bb8425c8631e475c2a"

},*/

data: params,

options: option);

if (response.statusCode == 200) {

debugPrint('===请求求url: ${response.request.uri.toString()}');

debugPrint('===请求headler: ${response.request.headers}');

debugPrint('===请求结果: \n${response.data}\n');

} else {

print('请求失败');

}

}

调用:

import 'dart:convert';

import 'package:flutter/material.dart';

import 'package:dio/dio.dart';

class HttpDemo1 extends StatefulWidget {

@override

State createState() {

// TODO: implement createState

return new HttpPage();

}

}

class HttpPage extends State {

@override

void initState() {

// TODO: implement initState

super.initState();

_getDio();

_postDio();

}

@override

Widget build(BuildContext context) {

// TODO: implement build

return new Scaffold(

appBar: new AppBar(

title: new Text("Dio网络请求"),

),

body: new Center(

child: new Text("$data"),

),

);

}

}

控制台

c5f0b687d82a571fb851eb604418978c.png

Dio库 说明文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值