Flutter调用WooCommerce API时stock_status参数不生效问题求助
问题根因
你的传参写法存在两处错误,导致库存过滤失效:
- 给
stock_status的参数值额外包裹了单引号,WooCommerce API会把'instock'(带引号)作为匹配值,和数据库里存的instock(无引号)无法匹配。 - 参数连接符错误使用了HTML转义字符
&,该库的getAsync方法不会自动解析HTML实体,会导致后续参数无法被服务端正常识别。
另外你定义的方法接收idCategory入参,但实际请求中没有拼接category筛选参数,也会导致无法获取指定分类下的商品。
修复后的实现代码
Future getProduct(int idCategory) async { WooCommerceAPI wooCommerceAPI = WooCommerceAPI( url: "x", consumerKey: "x", consumerSecret: "x"); var productos = await wooCommerceAPI.getAsync( "products?category=$idCategory&stock_status=instock&per_page=100" ); return productos; }
调试提示
- 直接拼接HTTP请求参数时,不要给参数值加额外引号,也不要做HTML转义,
&仅在HTML页面渲染链接时使用,原生HTTP请求直接用&拼接参数即可。 - 如果后续参数调整后仍有问题,可以先打印最终发起请求的完整URL,和你PHP端调用正常的URL逐字符对比,能快速定位多余字符、参数错漏问题。
内容的提问来源于stack exchange,提问作者Alberto
相关产品推荐
相关产品推荐

