Shopware 6.6调用/store-api/product接口时产品子项缺失问题咨询
Shopware 6.6 单个产品接口无法返回children关联的问题解析
行为差异原因
接口默认返回策略不同
/store-api/search接口的默认配置会自动将children字段纳入返回结果,关联解析逻辑也会默认加载子产品数据;而/store-api/product/{id}接口为了性能优化,默认仅返回产品的基础核心字段,即便配置了associations,如果没明确指定要返回children字段,结果里也不会显示该关联数据。关联配置的完整性要求不同
搜索接口的关联配置可简化为仅声明关联名称,但单个产品接口需要同时配置associations和includes两个参数:前者告知接口要加载哪些关联数据,后者指定需将关联字段包含到返回的产品实体中。
解决方案
修改单个产品接口的请求体,补充includes配置明确指定返回children字段,同时可为子产品配置需要返回的具体字段,示例请求体如下:
{ "associations": { "children": { "includes": { "product": ["id", "name", "price", "stock"] } } }, "includes": { "product": ["id", "name", "description", "children"] } }
额外检查点
- 确认请求的
PRODUCT_ID是父产品的ID,变体(子产品)本身不存在children关联数据; - 验证Shopware后台中该父产品已正确配置并关联变体。
内容的提问来源于stack exchange,提问作者Leon Schwanitz
相关产品推荐
相关产品推荐

