flutter dio 传参map ,服务器@RequestBody接收
时间: 2023-07-11 13:19:32 浏览: 72
如果你想使用Flutter Dio库将参数以Map的形式传递给服务器的@RequestBody,可以这样做:
```dart
import 'package:dio/dio.dart';
void main() async {
Dio dio = Dio();
// 定义请求参数
Map<String, dynamic> params = {
'name': '张三',
'age': 20,
};
// 发送POST请求
Response response = await dio.post(
'http://your_api_url',
data: params,
);
print(response.data);
}
```
在上面的代码中,我们使用Dio库发送了一个POST请求,请求体的内容是一个Map对象。Dio库会自动将这个Map对象转换成JSON格式,并以字符串的形式发送给服务器的@RequestBody。
在服务器端,你可以使用Spring MVC的@RequestBody注解,将请求体的JSON字符串转换成Java对象:
```java
@PostMapping("/api/user")
public User addUser(@RequestBody User user) {
// 处理用户信息
return user;
}
```
在上面的代码中,我们使用Spring MVC的@PostMapping注解定义了一个添加用户的接口。该接口使用@RequestBody注解将请求体的JSON字符串转换成Java对象。你可以在这个方法中,对用户信息进行处理,并返回处理后的结果。