Flutter [错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:类型“int”不是类型转换中“String”类型的子类型

Posted

技术标签:

【中文标题】Flutter [错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:类型“int”不是类型转换中“String”类型的子类型【英文标题】:Flutter [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: type 'int' is not a subtype of type 'String' in type cast 【发布时间】:2021-02-23 04:24:05 【问题描述】:

我正在从我的 Flutter 应用程序发送一个 post 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

【问题讨论】:

【参考方案1】:

确保value1value2String

body: 'key1': value1.toString(), 'key2': value2.toString(),

【讨论】:

将它们转换为字符串将通过请求,但这不是一件奇怪的事情吗!。在 post 请求的正文中使用整数(或数值)是正常的,为什么会抛出这个错误?【参考方案2】:

不知道究竟是哪一行给你带来了错误,但也许可以尝试解析它?

var value = int.tryParse(text);

【讨论】:

【参考方案3】:

请使用如下认证。

'Authorization': 'Bearer '+$value.toString()

【讨论】:

不是授权问题。 我认为 $value 是 int 类型,所以在这里你必须将它转换为字符串。您是否检查过上述解决方案?

以上是关于Flutter [错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:类型“int”不是类型转换中“String”类型的子类型的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:每个flutter命令都会出现这个错误

Flutter 构建 iOS 错误:在 iOS 设备中构建 Flutter 应用程序时遇到错误

我在安装flutter时遇到了一些错误

使用 flutter_twitter 包的 Flutter Web Twitter 登录错误。我错过了啥?

Flutter错误信息搜集

Flutter:无法找到“flutter_assets”错误的资产路径