0

我正在使用嵌套的 json liferay 来调用我的第一个实体,并为每个实体链接一个第二个实体。所以我遵循了关于此的liferay文档(https://help.liferay.com/hc/en-us/articles/360029317171-Invoking-Liferay-Services#nesting-requests):

这是我在 service.xml 中的两个实体:

<entity name="FieldDef" local-service="true" remote-service="true">

        <column name="fieldId" type="long" primary="true" />

        <column name="title" type="String" localized="true" />

        <column name="baseId" type="long"/>

        <finder name="BaseId" return-type="Collection">
            <finder-column name="baseId"/>
        </finder>

    </entity>

    <entity name="FieldValue" local-service="true" remote-service="true">

        <column name="fieldValueId" type="long" primary="true"/>
        <column name="code" type="String"/>
        <column name="fieldId" type="long"/>

        <finder name="FieldDef" return-type="Collection">
            <finder-column name="fieldId"/>
        </finder>

    </entity>

然后我想使用嵌套请求来获得以下结果:

 {
    "baseId": "0",
    "fieldId": "1",
    "title": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root available-locales=\"fr_FR,en_GB,\" default-locale=\"en_GB\"><Title language-id=\"en_GB\">Test1</Title><Title language-id=\"fr_FR\">Test1</Title></root>",
    "fieldValues": [
    {
        "code": "TRE",
        "fieldId": "1",
        "fieldValueId": "1"
      },
{
        "code": "OUT",
        "fieldId": "1",
        "fieldValueId": "2"
      }
    ]
    }

通过调用以下服务:

Liferay.Service(
        {
        '$fielddef = /fielddef/find-by-base-id': {
          baseId: 0,
          '$fieldvalues = /fieldvalue/find-by-field-def': {
            '@fieldId': '$fielddef.fieldId'
          }
        }
      },
        function(response) {
          console.log(response);
      })

但不幸的是 fieldValues 字段永远不会出现在 json 响应中。

{
"baseId": "0",
"fieldId": "1",
"title": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root available-locales=\"fr_FR,en_GB,\" default-locale=\"en_GB\"><Title language-id=\"en_GB\">Test1</Title><Title language-id=\"fr_FR\">Test1</Title></root>"
}

调用的 2 个服务可以单独和一起正常工作(我已经通过调试 java 服务进行了检查)。

还有什么可做的吗?

4

0 回答 0