私は3つの異なるパスを通してリソースrestパラメータにアクセスする必要があるクライアントを書いています。パスはresource/:resourceId/restparameter
,restparameter/:restparameterId/restparameter
およびrestmethod/:restmethodId/restparamter
です。私は$location
を使ってこれをやろうとしましたが、うまくいきません。たとえば、path:http://localhost:8085/output/#/restmethod/54/restparameter
を介して残りのパラメータにアクセスしようとすると、クライアントはGET http://localhost:8085/WSAT/multirestparameterManager/restparameter/restparameter
しか呼び出しません。これは明らかに404が見つかりませんでした。 $resource
オブジェクトを作成しながら、あなたはparamDefaults
を渡していませんangularjsで同じリソースの異なるパスを選択する方法は?
WSAT.controller('restparameterCtrl',['$scope','$resource','$location','$route','$routeParams','popupService', 'restparameterFactory',
function($scope,$resource, $location, $route,$routeParams,popupService, restparameterFactory, $window)
{ $scope.$location = {};
var result = $location.url();
if(result.includes("restparameter")){var Restparameter = $resource('http://localhost\\:8085/WSAT/multirestparameterManager/restparameter/:restparameterId/restparameter/');
$scope.restparameters = Restparameter.get({restparameterId: $routeParams.restparameterId});}
else if(result.includes("resource")){var Restparameter = $resource('http://localhost\\:8085/WSAT/multirestparameterManager/resource/:resourceId/restparameter/');
$scope.restparameters = Restparameter.get({resourceId: $routeParams.resourceId});}
else if(result.includes("restmethod")){var Restparameter = $resource('http://localhost\\:8085/WSAT/multirestparameterManager/restmethod/:restmethodId/restparameter/');
$scope.restparameters = Restparameter.get({restmethodId: $routeParams.restmethodId});}
パラメータは、特定のパスとgetメソッドがうまく動作するように個別に試したので、ここで問題になります。私はif(){} else if()条件が間違っていると感じていますが、私は3つのパスの中から選択する別のロジックはできません。 – natalw
いいえそうは思いません。ドキュメントを読んでください。 –