Flutter中如何编写带路由与ID参数的Get请求函数
Flutter 实现带ID参数的GET请求(适配你的Laravel接口)
你的Laravel接口路由是/geteachemp/{id},需要在请求URL中拼接ID参数,对应React里的实现方式,下面是修改后的Flutter代码方案:
修改请求函数,支持传入ID
将原有的_getNews()修改为接受ID参数的函数,在请求路径中拼接ID:
_getEmployeeLeave(int id) { // 把ID拼接到接口路径,匹配Laravel的/{id}路由参数 CallApi().getPublicData("geteachemp/$id").then((response) { setState(() { // 根据接口返回的实际结构调整解析逻辑: // 场景1:接口返回单条数据(非数组) var leaveData = json.decode(response.body); news = [Myrecord2.fromJson(leaveData)]; // 场景2:接口返回多条数据数组(保留原解析逻辑) // Iterable list = json.decode(response.body); // news = list.map((model) => Myrecord2.fromJson(model)).toList(); }); }); }
调用函数时传入目标ID
在需要触发请求的场景(比如页面初始化、按钮点击事件)调用该函数并传入具体ID:
// 示例:获取ID为123的员工请假数据 _getEmployeeLeave(123);
关键注意事项
- 确认
CallApi的getPublicData方法会正确拼接基础URL与你传入的路径,确保最终请求地址格式为[基础URL]/geteachemp/[ID],和Laravel路由完全匹配。 - 务必根据接口实际返回的数据结构选择对应的解析逻辑,避免因数据格式不匹配导致解析错误。
内容的提问来源于stack exchange,提问作者Mathew Garry Karrington
相关产品推荐
相关产品推荐

