私は実際に、AngularJS からの遷移に対して JSON-RPC 呼び出しを行っています。リクエストのコンテンツ タイプはapplication/jsonであるため、入力パラメーターはコンテキストで自動的に使用可能になるため、明示的に処理する必要はありません。
「チュートリアル」コンポーネントにある「getUsers」への私のリクエストは次のとおりです。
function($scope, $http) {
$http ({
url: 'tutorial/getUsers',
method: "POST",
data: JSON.stringify({username:'demouser1'}),
headers: {'Content-Type': 'application/json'}
}).success(function(response){
$scope.userList = response;
});
}]);
トランジションのコードは以下に書かれています
<transition name="getUsers">
<actions>
<service-call name="Tutorial.PartyServices.get#Users" in-map="context"/>
</actions>
<default-response type="none"/>
</transition>
サービスはこんな感じ
<service verb="get" noun="Users">
<in-parameters>
<parameter name="username"/>
</in-parameters>
<actions>
<entity-find entity-name="PersonAndUserAccount" list="userList">
<search-form-inputs default-order-by="firstName,lastName,username"/>
<econdition field-name="username" operator="equals" to-field-name="username"/>
</entity-find>
<script>ec.web.sendJsonResponse(userList)</script>
</actions>
</service>
ec.web.sendJsonResponse(userList)
次に、サービス自体に記述したJSON 応答を送信します。これにより、JSON を応答として期待するサービス呼び出しとサービスが緊密に結合されます。このサービスを内部的に呼び出したい場合、つまり Moqui で別のサービスを定義する必要があります。
私の質問は、このサービス呼び出しを行っているトランジションでこの応答を処理できますか?