使用Dio库发送不同类型的HTTP请求非常简单。下面是使用Dio发送GET、POST、PUT和DELETE请求的示例代码:
使用Dio库发送不同类型的HTTP请求非常简单。下面是使用Dio发送GET、POST、PUT和DELETE请求的示例代码:
发送GET请求:
import 'package:dio/dio.dart';
void fetchGetRequest() async {
try {
Response response = await Dio().get('https://api.example.com/data');
print(response.data);
} catch (error) {
print(error.toString());
}
}
发送POST请求:
import 'package:dio/dio.dart';
void fetchPostRequest() async {
try {
Response response = await Dio().post('https://api.example.com/data', data: {'key': 'value'});
print(response.data);
} catch (error) {
print(error.toString());
}
}
发送PUT请求:
import 'package:dio/dio.dart';
void fetchPutRequest() async {
try {
Response response = await Dio().put('https://api.example.com/data', data: {'key': 'value'});
print(response.data);
} catch (error) {
print(error.toString());
}
}
发送DELETE请求:
import 'package:dio/dio.dart';
void fetchDeleteRequest() async {
try {
Response response = await Dio().delete('https://api.example.com/data');
print(response.data);
} catch (error) {
print(error.toString());
}
}
在上述示例中,我们创建了一个Dio实例,并使用相应的方法(get、post、put、delete)发送HTTP请求。我们提供了请求的URL,并可以选择性地传递请求数据作为参数(例如,data参数)。响应将存储在Response对象中,并可以通过response.data访问响应数据。
请注意,这些示例仅演示了基本的请求方式。Dio还提供了许多其他功能,如请求拦截器、响应拦截器、超时设置、文件上传等。您可以根据需要使用这些功能来满足您的具体需求。
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
void main() {
runApp(YourApp());
}
class YourApp extends StatefulWidget {
@override
State<YourApp> createState() => _YourAppState();
}
class _YourAppState extends State<YourApp> {
@override
void initState() {
//发送网络请求
//1.创建Dio对象
final dio=Dio();
//2.发送网络请求
dio.get('https://httpbin.org/get').then((value) {
print(value);
});
dio.put('https://httpbin.org/put').then((value) {
print(value);
});
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Your App',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: null,
);
}
}