2015-05-07 1 views
-1

Я знаю, что можно создать собственные методы с использованием ресурса AngularJs $, но Я хотел бы знать, можно ли сообщить человеку, который является используя ресурс, какой параметр они должны указать при вызове.

Я не говорю о значениях по умолчанию, но больше как руководство о том, что нужно для вызова ресурса $.

$resource("/api/myEntity/:id", { id: '@id' }, { 
    getBySlug: { 
     method: "GET", 
     url: "/api/MyEntity/GetBySlug/" 
     //something like : paramsToProvide : {slug : "", etc.} 
    }, 
}); 

//... 

myEntity.myCustomMethod({}, function(){ 
    //callback... 
}); 

ответ

0

Создайте фабрику, которая предоставляет API, и выдаст ошибку или зарегистрирует предупреждение, если функция вызывается без обязательных параметров.

var myEntity = $resource(...); 

return { 
    getBySlug: function getBySlug(slug) { 
     if (slug === undefined) { 
     throw new Error('Please provide a slug'); 
     } 
     return myEntity.getBySlug({slug: slug}).$promise; 
    } 
}; 
+0

Это приведет к удалению всех $ save, $ get, $ query и $ delete методов из ресурса $ default, поэтому я не думаю, что это был бы жизнеспособный вариант. – RPDeshaies