为什么在PUT上调用Expand和Select会导致返回的信息更少-Acumatica REST API

为什么在PUT上调用Expand和Select会导致返回的信息更少-Acumatica REST API,acumatica,acumatica-kb,Acumatica,Acumatica Kb,在Acumatica的示例中:“第2.1课:更新客户帐户”示例代码将根据电子邮件地址检索客户的联系信息来更新客户的联系信息。它展开主联系人并选择CustomerID和CustomerClass: https://localhost/MyStoreInstance/entity/Default/18.200.001/Customer?$filter=MainContact/Email eq 'info@jevy-comp.con'&$expand=MainContact&$sele

在Acumatica的示例中:“第2.1课:更新客户帐户”示例代码将根据电子邮件地址检索客户的联系信息来更新客户的联系信息。它展开主联系人并选择CustomerID和CustomerClass:

https://localhost/MyStoreInstance/entity/Default/18.200.001/Customer?$filter=MainContact/Email eq 'info@jevy-comp.con'&$expand=MainContact&$select=CustomerID,CustomerClass
返回的值包括CustomerID、CustomerClass和完全加载的BillingContact记录,其中包含2150字节的数据,如下所示:

{
    "id": "0b88d208-297a-4b81-a20c-39d27bace10a",
    "rowNumber": 1,
    "note": "",
    "BillingContact": {
        "id": "e1133b8a-fca9-4885-8e4c-09a85808f025",
        "rowNumber": 1,
        "note": null,
        "Activities": [],
        "Address": {
            "id": "4f1719aa-6eb0-4551-a143-ad2139e135aa",
            "rowNumber": 1,
            "note": null,
            "AddressLine1": {
                "value": "1000 Pennsylvania Ave"
            },
            "AddressLine2": {},
            "City": {
                "value": "San Francisco"
            },
            "Country": {
                "value": "US"
            },
            "PostalCode": {
                "value": "94107-3479"
            },
            "State": {
                "value": "CA"
            },
            "custom": {},
            "files": []
        },
        "Attention": {
            "value": "Mister. Jack Green"
        },
        "Attributes": [],
        "Campaigns": [],
        "Cases": [],
        "ContactID": {
            "value": 12417
        },
        "DisplayName": {
            "value": "Jevy Computers"
        },
        "Duplicates": [],
        "Email": {
            "value": "green@jevy-comp.con"
        },
        "Fax": {},
        "FirstName": {},
        "JobTitle": {
            "value": ""
        },
        "LastName": {},
        "MarketingLists": [],
        "MiddleName": {},
        "Notifications": [],
        "Opportunities": [],
        "Phone1": {
            "value": "+1 (777) 380-0089"
        },
        "Phone1Type": {
            "value": "Business 1"
        },
        "Phone2": {},
        "Phone2Type": {
            "value": "Business 2"
        },
        "Relations": [],
        "Title": {},
        "UserInfo": null,
        "WebSite": {},
        "custom": {},
        "files": []
    },
    "BillingContactSameAsMain": {
        "value": false
    },
    "CustomerClass": {
        "value": "INTL"
    },
    "CustomerID": {
        "value": "C000000003"
    },
    "custom": {},
    "files": []
}
但是,当我明确要求扩展BillingContact时,我得到的信息比我在扩展命令中完全忽略它时得到的信息要少。(我得到1235字节作为回报。)

显然,我不理解EXPLAND命令在PUT中是如何运行的。谁能给我解释一下吗


为什么在扩展命令中包含BillingContact会给我更少的BillingContact信息?

当您执行Put请求时,Acumatica会自动为您正在触摸的实体(包括子实体)添加扩展,因此您可以在
BillingContact
下看到地址。 当您在账单联系人上添加扩展时,它将覆盖默认扩展,您将不再看到
地址
。 要在结果中获取
地址
,您需要添加另一个扩展:
BillingContact/Address


这同样适用于所有其他实体

当您执行Put请求时,Acumatica会自动为您正在触摸的实体(包括子实体)添加扩展,因此您可以在
BillingContact
下看到地址。 当您在账单联系人上添加扩展时,它将覆盖默认扩展,您将不再看到
地址
。 要在结果中获取
地址
,您需要添加另一个扩展:
BillingContact/Address

这同样适用于所有其他实体

{
    "id": "0b88d208-297a-4b81-a20c-39d27bace10a",
    "rowNumber": 1,
    "note": "",
    "BillingContact": {
        "id": "e1133b8a-fca9-4885-8e4c-09a85808f025",
        "rowNumber": 1,
        "note": null,
        "Attention": {
            "value": "Mr. Jack Green"
        },
        "ContactID": {
            "value": 12417
        },
        "DisplayName": {
            "value": "Jevy Computers"
        },
        "Email": {
            "value": "green@jevy-comp.con"
        },
        "Fax": {},
        "FirstName": {},
        "JobTitle": {
            "value": ""
        },
        "LastName": {},
        "MiddleName": {},
        "Phone1": {
            "value": "+1 (777) 380-0089"
        },
        "Phone1Type": {
            "value": "Business 1"
        },
        "Phone2": {},
        "Phone2Type": {
            "value": "Business 2"
        },
        "Title": {},
        "WebSite": {},
        "custom": {},
        "files": []
    },
    "BillingContactSameAsMain": {
        "value": false
    },
    "CustomerClass": {
        "value": "INTL"
    },
    "CustomerID": {
        "value": "C000000003"
    },
    "custom": {},
    "files": []
}