Dio requestbody 传参
时间: 2023-10-19 17:05:43 浏览: 45
在 Dio 中,可以使用 `data` 或 `body` 参数来传递请求体数据,具体使用哪个参数取决于请求方法和数据类型。一般来说,`data` 适用于 GET、DELETE 等请求方法,`body` 适用于 POST、PUT 等请求方法。
如果要使用 `body` 参数传递请求体数据,可以按照以下步骤进行:
1. 导入 Dio 包:
```dart
import 'package:dio/dio.dart';
```
2. 创建 Dio 实例:
```dart
Dio dio = Dio();
```
3. 创建请求体数据,可以使用 Map、List、FormData 等类型:
```dart
Map<String, dynamic> data = {
'name': 'Tom',
'age': 20
};
```
4. 发送请求:
```dart
Response response = await dio.post(
'https://www.example.com/api/user',
data: data,
);
```
在上面的代码中,我们使用了 `post` 方法发送请求,并将请求体数据传递给 `data` 参数。如果需要指定请求头或其他配置,可以在创建 Dio 实例时进行设置。
注意,如果要发送 JSON 格式的请求体数据,需要将请求头中的 `Content-Type` 设置为 `application/json`,并将请求体数据转换为 JSON 字符串。示例代码如下:
```dart
Map<String, dynamic> data = {
'name': 'Tom',
'age': 20
};
String jsonStr = json.encode(data);
Response response = await dio.post(
'https://www.example.com/api/user',
data: jsonStr,
options: Options(
headers: {
'Content-Type': 'application/json',
},
),
);
```
以上就是使用 Dio 的 `body` 参数传递请求体数据的方法。