You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter使用http库时报错:命名参数body、headers未定义如何解决?

问题原因

你出现报错的核心原因是参数归属写错了:
body、headers是http.post、http.put方法的自有命名参数,你代码里误将这两个参数写到了Uri.parse()的入参括号内,而Uri.parse方法仅接收字符串类型的URL作为入参,自然无法识别这两个不存在的参数,就会抛出参数未定义的错误。

修复方案

只需要把Uri.parse()的闭合右括号挪到URL字符串的末尾,让body和headers归属于外层的http.post/http.put方法即可,修正后的对应代码片段如下:

addTodoModel方法修正

var response = await http.post(Uri.parse('$API_URL/todos?key=$API_KEY'),
    body: bodyString, headers: {'Content-Type': 'application/json'});

updateTodo方法修正

var response = await http.put(Uri.parse('$API_URL/todos/$todoId?key=$API_KEY'),
    body: bodyString, headers: {'Content-Type': 'application/json'});

修改完成后错误就会消失。

内容的提问来源于stack exchange,提问作者mahognygoat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:45:02