如何解决颤动中的串联字符串会添加“”
这是一个愚蠢的问题,但我似乎无法弄清楚。我正在构建一个与API通信的Flutter应用,为了使用户通过身份验证,它会发送令牌。 每当用户登录时,我都会将令牌保存在“共享首选项”中,然后在我发出请求时,将令牌添加到标头中,在这种情况下,我需要在URL中使用它。 但是,每当我连接字符串时:服务器url和令牌都会在令牌中添加额外的“”。像这样:
http://10.0.2.2:64342/chatHub?access_token="token-value"
代替
http://10.0.2.2:64342/chatHub?access_token=token-value
代码如下:
var preferences = await SharedPreferences.getInstance();
token = preferences.getString(token_key);
var url = '$serverURl?access_token=$token';
解决方法
据我了解您的问题,我想回答一下。
那不可能!
var serverURl = 'http://10.0.2.2:64342/chatHub';
var token = 'token-value';
var url = '$serverURl?access_token=$token';
print(url);
它只是打印正确的一个!
您可以检查存储在SharedPreferences中的字符串!那也许带引号。
好的,我知道了。由于我只从API发送令牌。我收到带有“”的邮件。 相反,我现在发送带有令牌的json,例如:{“ token”:“ token_value”},然后对其进行解码以获取实际值。因此,当我存储共享首选项时,它不会保留“”。
所以在后端:
return Ok(new {token = generatedToken});
和飞镖
var tokenJson = json.decode(response.body);
var token = tokenJson['token'];
preferences.setString(token_key,token);
感谢所有提供帮助的人:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。