我正在从我的flutter应用程序发送一个api请求,以更新用户数据并收到此错误
[ERROR:flutter / lib / ui / ui_dart_state.cc(177)]未处理的异常:类型'int'不是强制类型转换中的'String'类型的子类型
我的代码
_data() async {
setState(() {
data();
});
}
Future<bool> data() async {
final prefs = await SharedPreferences.getInstance();
final key = 'token';
final value = prefs.get(key) ?? 0;
http.Response response = await http.post(
"https://www.exmaple.com/api/user",
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Bearer $value'
},
body: {'key1': value1, 'key2': value2},
);
if (response.statusCode == 200) {
return true;
} else {
return false;
}
}
当我单击按钮时,上面的代码有效。参见下面的代码
RaisedButton(
onPressed: () {
_data();
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(
builder: (BuildContext context) => Home()),
(Route<dynamic> route) => false);
},
child: Text('Press Me',
style: TextStyle(fontSize: 15)),
),
请参阅错误Error ScreenShot的屏幕截图
这是错误error in line 76
答案 0 :(得分:0)
不知道是哪一行在向您抛出错误,但也许可以尝试解析它?
var value = int.tryParse(text);
答案 1 :(得分:0)
请按以下方式使用身份验证。
flutter pub get
答案 2 :(得分:0)
确保value1
和value2
是String
。
body: {'key1': value1.toString(), 'key2': value2.toString()},