Shopware 6 通过商店获取父产品-api
Shopware 6 fetch parent product through store-api
我正在尝试使用商店获取特定产品的父项-api。
当我添加 parent
关联时,我收到错误代码 FRAMEWORK__PARENT_ASSOCIATION_CAN_NOT_BE_FETCHED
我的请求是这样的:
我真的必须使用 parentId
进行第二次请求才能获取一些父产品信息,还是有其他方法?
我认为您只需要使用带有 parentId 的额外 API 调用。因为它在 EntityReader 内部受到限制。
此外,可以实现您自己的 ApiRoute 并通过一次 API 调用获取所有信息。
另请检查您的儿童产品的回复。由于产品的几乎所有字段都是继承的,可能您已经在第一个响应中获得了您需要的信息。
您可以尝试搜索子项 ID 为“xyz”的产品,而不是尝试查找一个变体的父项。 Shopware 支持过滤嵌套对象,例如“children.id”。
例如:
POST /store-api/product
Content-Type: application/json
Accept: application/json
sw-access-key: ...
sw-language-id: ...
{
"includes": {
"product": ["productNumber", "children", "name", "translated.name"]
},
"associations": {
"children": []
},
"filter": [
{"field": "children.id", "type": "equals", "value": "f87a875bc5fa47e08ea40a19ce9c5627"}
]
}
应该给你父子输出:
{
"entity": "product",
"total": 1,
"aggregations": [],
"page": 1,
"limit": null,
"elements": [
{
"productNumber": "252009 00-0002",
"name": null,
"children": [
{
"productNumber": "252009 00-0002.3",
"name": null,
"children": null,
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
},
{
"productNumber": "252009 00-0002.1",
"name": null,
"children": null,
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
},
{
"productNumber": "252009 00-0002.4",
"name": null,
"children": null,
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
},
{
"productNumber": "252009 00-0002.2",
"name": null,
"children": null,
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
}
],
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
}
],
"apiAlias": "dal_entity_search_result"
}
我正在尝试使用商店获取特定产品的父项-api。
当我添加 parent
关联时,我收到错误代码 FRAMEWORK__PARENT_ASSOCIATION_CAN_NOT_BE_FETCHED
我的请求是这样的:
我真的必须使用 parentId
进行第二次请求才能获取一些父产品信息,还是有其他方法?
我认为您只需要使用带有 parentId 的额外 API 调用。因为它在 EntityReader 内部受到限制。 此外,可以实现您自己的 ApiRoute 并通过一次 API 调用获取所有信息。
另请检查您的儿童产品的回复。由于产品的几乎所有字段都是继承的,可能您已经在第一个响应中获得了您需要的信息。
您可以尝试搜索子项 ID 为“xyz”的产品,而不是尝试查找一个变体的父项。 Shopware 支持过滤嵌套对象,例如“children.id”。
例如:
POST /store-api/product
Content-Type: application/json
Accept: application/json
sw-access-key: ...
sw-language-id: ...
{
"includes": {
"product": ["productNumber", "children", "name", "translated.name"]
},
"associations": {
"children": []
},
"filter": [
{"field": "children.id", "type": "equals", "value": "f87a875bc5fa47e08ea40a19ce9c5627"}
]
}
应该给你父子输出:
{
"entity": "product",
"total": 1,
"aggregations": [],
"page": 1,
"limit": null,
"elements": [
{
"productNumber": "252009 00-0002",
"name": null,
"children": [
{
"productNumber": "252009 00-0002.3",
"name": null,
"children": null,
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
},
{
"productNumber": "252009 00-0002.1",
"name": null,
"children": null,
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
},
{
"productNumber": "252009 00-0002.4",
"name": null,
"children": null,
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
},
{
"productNumber": "252009 00-0002.2",
"name": null,
"children": null,
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
}
],
"translated": {
"name": "T-Shirt Logo"
},
"apiAlias": "product"
}
],
"apiAlias": "dal_entity_search_result"
}