問題
-
DDMRestDataProvider と Autofill Rule を使用してテキスト・フィールドに入力しようとしています。 私は次の記事に触発された:
https://learn.liferay.com/w/dxp/process-automation/forms/form-rules/using-the-autofill-rule
-
DDMRestDataProviderを次のように設定した:
ゲストの読み取りアクセス許可
URL:https://restcountries.com/v3.1/name/deutschland
出力:
パス: $..name.common
タイプテキストフィールド
ラベル"名前共通"
環境
- Liferay DXP 7.4
解像度
- 現在、返される結果はJSONArrayになっている。これは、
不定パスの使用によるものである:$..name.common. - これが、テキスト・フィールドに値を自動入力できない理由である。
-
不定パスではなく、定パスを使用する場合、単一の値を返すはずである。 -
JsonPathライブラリのドキュメント
パスが
不定:-
...- ディープ・スキャン・オペレーター -
(<expression>)- 式 -
[<number>, <number> (, <number>)]- 複数の配列インデックス
不定形のパスは、常に(現在の JsonProvider で表される)リストを返します。 -
-
: パスを
$.[0].name.commonに変更すると、確定パスに変更され、単一の値が返されることが期待される。 -
注: これは概念実証であり、最終的には、特定のユースケースに対してデータ・プロバイダーをどのように構成するかは、あなた次第である。
- さらに、、ゲスト用のテキストフィールドを自動入力するために、データプロバイダのゲストユーザーに表示権限を設定する必要があります。