2017-01-26 2 views
0

Jhipsterで$ resourceを使用してAngular Serviceにカスタムメソッドを書き込む構文がわかりません。多くの研究の後、私はそれが可能であるかどうか疑問です。

ここに、アングルサービスのコードがあります。

(function() { 
    'use strict'; 
    angular 
     .module('tealboxApp') 
     .factory('Task', Task); 
Task.$inject = ['$resource', 'DateUtils']; 

function Task ($resource, DateUtils) { 
    var resourceUrl = 'api/tasks/:id'; 

    return $resource(resourceUrl, {}, { 
     'query': { method: 'GET', isArray: true}, 
     'get': { 
      method: 'GET', 
      transformResponse: function (data) { 
       if (data) { 
        data = angular.fromJson(data); 
        data.assignedDateTime = DateUtils.convertDateTimeFromServer(data.assignedDateTime); 
        data.startDateTime = DateUtils.convertDateTimeFromServer(data.startDateTime); 
        data.endDateTime = DateUtils.convertDateTimeFromServer(data.endDateTime); 
        data.startDate = DateUtils.convertLocalDateFromServer(data.startDate); 
        data.endDate = DateUtils.convertLocalDateFromServer(data.endDate); 
       } 
       return data; 
      } 
     }, 
     'update': { 
      method: 'PUT', 
      transformRequest: function (data) { 
       var copy = angular.copy(data); 
       copy.startDate = DateUtils.convertLocalDateToServer(copy.startDate); 
       copy.endDate = DateUtils.convertLocalDateToServer(copy.endDate); 
       return angular.toJson(copy); 
      } 
     }, 
     'save': { 
      method: 'POST', 
      transformRequest: function (data) { 
       var copy = angular.copy(data); 
       copy.startDate = DateUtils.convertLocalDateToServer(copy.startDate); 
       copy.endDate = DateUtils.convertLocalDateToServer(copy.endDate); 
       return angular.toJson(copy); 
      } 
     } 
    }); 
} 
})(); 

私のようなカスタムメソッドを追加したい...

'getTasksWithXYZ': { 
      method: 'GET', 
      transformResponse: function (data) { 
       if (data) { 
        data = angular.fromJson(data); 
        data.assignedDateTime = DateUtils.convertDateTimeFromServer(data.assignedDateTime); 
        data.startDateTime = DateUtils.convertDateTimeFromServer(data.startDateTime); 
        data.endDateTime = DateUtils.convertDateTimeFromServer(data.endDateTime); 
        data.startDate = DateUtils.convertLocalDateFromServer(data.startDate); 
        data.endDate = DateUtils.convertLocalDateFromServer(data.endDate); 
       } 
       return data; 
      } 
     } 

私はこの取得方法、あるいはどのようにコントローラでこのメソッドを呼び出すためにパラメータを渡す方法を確認していません。どのようにこれを行うのですか?あなたのサービスで

答えて

0

私は答えを更新していますあなたのコントローラTask.getTasksWithXYZ(id)

+0

params

return $resource(resourceUrl, {}, { 'getTasksWithXYZ': { method: 'GET', params:{id:'@id'}, transformResponse: function (data) { if (data) { data = angular.fromJson(data); data.assignedDateTime = DateUtils.convertDateTimeFromServer(data.assignedDateTime); data.startDateTime = DateUtils.convertDateTimeFromServer(data.startDateTime); data.endDateTime = DateUtils.convertDateTimeFromServer(data.endDateTime); data.startDate = DateUtils.convertLocalDateFromServer(data.startDate); data.endDate = DateUtils.convertLocalDateFromServer(data.endDate); } return data; } } }) 

を追加... –

+0

しかし、あなたは春の残りの部分を理解していればどのように私は、別のURLを指定することができ、これは私です私が呼び出す必要があるスプリングコントローラのコード。 '/ ** * GET /タスク:ユーザーに割り当てられたすべてのタスクを取得 * *ステータス200(OK)とResponseEntityとボディ */ @GetMappingにおけるタスクのリスト(」@return /タスク/ assignedByUser ") @Timed 公開リスト getAllTask​​sAssignedByUser(@RequestParam(" userId ")ロングuserId){ log.debug("すべてのタスクを取得するためのREST要求 "); return taskService.findAllAssignedByUser(userId); } ' –

+0

コメント内のコードが正しく描画されていないことは申し訳ありませんが、何か不足しています –

関連する問題