2016-08-04 6 views
0

サービスコールを管理するために$ resourceを使用して以来、しばらくしています。

何らかの理由で、私のすべてのコールが正常に動作していて、基本的に/ api/profileと/ api/profile /:idのRESTエンドポイントに達しています。 404

誰もが起こってすることができるかのアイデアを持っているよう

しかし、いくつかの理由で、私のプット・リターン。

ありがとうございました!

'use strict'; 

angular.module('chainLinkApp') 

.config(['$stateProvider', function($stateProvider){ 
    $stateProvider 
    .state('profile', { 
    url:'/profile/:id', 
    templateUrl:'views/profile.html', 
    controller:'ProfileController', 
    controllerAs:'profile' 
    }); 
}]) 

.controller('ProfileController',['$scope', '$http', 'profileFactory', function($scope, $http, profileFactory){ 


    $scope.updateMode = false; 


    $scope.comments = profileFactory.getProfiles.go().$promise.then(function(response){ 
    $scope.comments = response; 
    }); 


    $scope.getProfile = function(commentId){ 
    $scope.comment = profileFactory.getProfile.go({id:commentId}).$promise.then(function(response){ 
     $scope.comment = response; 
     $scope.updateMode = true; 
    }, function(error){ 
     return console.log('An error has occured', error); 
    }); 
    }; 


    $scope.addProfile = function(comment){ 
    profileFactory.postProfile.go(comment).$promise.then(function(){ 
     console.log('Your post was a success'); 
     $scope.comment = {}; 
    }, function(error){ 
     console.log('There was an error: ', error); 
    }); 
    }; 


    $scope.updateProfile = function(comment){ 
    profileFactory.updateProfile.go(comment._id, comment).$promise.then(function(response){ 
     console.log('Your profile has been updated'); 
     $scope.updateMode = false; 
     $scope.comment = {}; 
    }, function(error){ 
     console.log('There is an error: ', error); 
    }); 
    }; 
}]) 


.factory('profileFactory', ['$resource', function($resource){ 

    return{ 
    getProfiles: $resource('/api/profile', {}, { go: { method:'GET', isArray: true }}), 
    getProfile:  $resource('/api/profile/:id',{},{ go: { method: 'GET', params: { id: '@id' }}}), 
    postProfile: $resource('/api/profile', {}, { go: { method: 'POST' }}), 
    updateProfile: $resource('/api/profile/:id', {}, { go: { method: 'PUT', params: { id:'@id' }}}) 
    }; 

}]); 
+0

問題は、おそらく、サーバー側にあり、そこにあなたのマッピングをチェックしてください。 – Walfrat

+0

リクエストに{_method: 'PUT'}を追加しようとすると、一部のサーバーでは実際のPUTを使用できません。 – KoIIIeY

答えて

0

あなたの道は$resourceを使用していることは奇妙である、それは次のようにする必要があります:

.factory('UserService', function($resource) { 
    return $resource('/api/users/:id', {}, { 
     'create': { method: 'POST' }, 
     'update': { method: 'PUT', params: { id: '@id'} } 

    }); 
}) 

次に、あなたはこのようにサービスを呼び出す:UserService.create(theUserobj, function(result) { ... })

+0

ありがとうMavlarn。あなたが正しいです。私はそれを使用してからしばらくして、私はいくつかのカスタムコールを含む様々なコールをチェーンしようとしていました。 – cnak2

+0

とにかく、あなたのコードに問題はないと思われます。更新依頼のURLを確認しましたか?どのサーバー側のコードと一致する必要があります。あなたのURLの 'id'を確認してください。 – Mavlarn

+0

である。すべての作品! – cnak2

関連する問題