gpt4 book ai didi

flutter - 如何修复http put请求上的错误

转载 作者:行者123 更新时间:2023-12-03 03:04:57 24 4
gpt4 key购买 nike

我正在尝试使用以下代码进行身份验证并且无法成功。看起来json结构不正确。

我尝试使用 kotlin 在 native android 上检查相同的内容,它可以正常工作。

以下是日志

flutter: {data: {email: nelloresec@xxx.com, password: xxx}}
flutter: "{\"errors\":[]}"
flutter: http://xxx.xxx.xx
flutter: Instance of 'Response'
flutter: 400
flutter: {errors: []}


最佳答案

默认 content-type对于类型的主体String , List<int>Map<String, String>'text/plain'我猜你想要'application/json'
此外,您可以直接将用户对象传递给 body 参数(因为 toJson 将由 json.encode() -函数自动调用)。

最后,您不需要同时使用 await.then(...) , await就足够了:

void userLogin(String url, User user) async {
http.Response response = await http.put(
'$url/api/login',
headers: {
HttpHeaders.contentTypeHeader: 'application/json',
},
body: json.encode(user),
);

if (response.statusCode == 200) {
print(url);
print(response.statusCode);
print(json.decode(response.body));
} else {
print(json.encode(response.body));
print(url);
print(response);
print(response.statusCode);
print(json.decode(response.body));
throw Exception("Error while fetching data");
}
}

关于flutter - 如何修复http put请求上的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58080979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com