2015-01-07 4 views
2

실제로 AngularJS에서 전환으로 JSON-RPC 호출을하고 있습니다. 요청 내용 유형이 application/json이므로 입력 매개 변수가 컨텍스트에서 자동으로 사용 가능하도록 명시 적으로 처리 할 필요가 없습니다.전환 내에서 Moqui의 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; 
    }); 
}]); 

는 전환에 대한 코드는 지금은 서비스 자체에 ec.web.sendJsonResponse(userList)을 썼다 JSON 응답을 보내려면이

<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> 

처럼

<transition name="getUsers"> 
    <actions> 
     <service-call name="Tutorial.PartyServices.get#Users" in-map="context"/> 
    </actions> 
    <default-response type="none"/> 
</transition> 

서비스 보이는 아래에 기록됩니다. 따라서 JSON을 응답으로 기대하는 서비스 호출과 서비스가 밀접하게 결합됩니다. Moqui에서이 서비스를 내부적으로 호출하려면 다른 서비스를 정의해야합니다.

제 질문은이 서비스 호출을하는 전환에서이 응답을 처리 할 수 ​​있습니까?

답변

4

다음은 전환시 JSON 응답을 언급 할 수있는 샘플입니다. ExampleApp.xml을 참조 할 수 있습니다.

다음은 참조 할 수있는 코드입니다.

<transition name="ExampleEntity" method="post"> 
    <service-call name="org.moqui.example.ExampleServices.createExample" in-map="ec.web.parameters" 
     web-send-json-response="true"/> 
<default-response type="none"/> 
</transition> 

HTH.

감사합니다.