Używam kątowej fabryki do wykonywania CRUD na moich zajęciach na Parse.com. Mam w sumie 4 klasy i muszę wykonać tworzenie, pobieranie, umieszczanie, usuwanie na wszystkich 4. Chociaż adres URL jest inny dla każdego, wszystko inne pozostaje takie samo. Czy mogę przekazać zmienne do fabryki, aby zmienić nazwę klasy w adresie URL api?Zmienne fabryczne REST parametrów kątowych
Oto przykład jednej fabryki.
.factory('Programme',['$http','PARSE_CREDENTIALS',function($http,PARSE_CREDENTIALS){
return {
getAll:function(){
return $http.get('https://api.parse.com/1/classes/Programme',{
headers:{
'X-Parse-Application-Id': PARSE_CREDENTIALS.APP_ID,
'X-Parse-REST-API-Key':PARSE_CREDENTIALS.REST_API_KEY,
'X-Parse-Session-Token': PARSE_CREDENTIALS.PARSE_SESSION
}
});
},
get:function(id){
return $http.get('https://api.parse.com/1/classes/Programme/'+id,{
headers:{
'X-Parse-Application-Id': PARSE_CREDENTIALS.APP_ID,
'X-Parse-REST-API-Key':PARSE_CREDENTIALS.REST_API_KEY,
'X-Parse-Session-Token': PARSE_CREDENTIALS.PARSE_SESSION
}
});
},
create:function(data){
return $http.post('https://api.parse.com/1/classes/Programme',data,{
headers:{
'X-Parse-Application-Id': PARSE_CREDENTIALS.APP_ID,
'X-Parse-REST-API-Key':PARSE_CREDENTIALS.REST_API_KEY,
'X-Parse-Session-Token': PARSE_CREDENTIALS.PARSE_SESSION,
'Content-Type':'application/json'
}
});
},
edit:function(id,data){
return $http.put('https://api.parse.com/1/classes/Programme/'+id,data,{
headers:{
'X-Parse-Application-Id': PARSE_CREDENTIALS.APP_ID,
'X-Parse-REST-API-Key':PARSE_CREDENTIALS.REST_API_KEY,
'X-Parse-Session-Token': PARSE_CREDENTIALS.PARSE_SESSION,
'Content-Type':'application/json'
}
});
},
delete:function(id){
return $http.delete('https://api.parse.com/1/classes/Programme/'+id,{
headers:{
'X-Parse-Application-Id': PARSE_CREDENTIALS.APP_ID,
'X-Parse-REST-API-Key':PARSE_CREDENTIALS.REST_API_KEY,
'X-Parse-Session-Token': PARSE_CREDENTIALS.PARSE_SESSION,
'Content-Type':'application/json'
}
});
}
}
}])
Oczywiście to x4 to bałagan.
Więc muszę zmienić adres URL z /Programmes
do /Users
/Prescription
Wołam to jak z mojego kontrolera tak:
Programme.edit($localStorage.programme.id, {exerciseData:exercises}).success(function(data){
});
Po drugie, jak jestem w stanie oznaczyć obsługi błędu na ten funkcja kontrolera zgodnie z pakietem JavaScript SDK?
Szczerze mówiąc, kiedy zaczynają się na terytorium Uprawnienia powinny streszczenie to do bloku konfiguracji lub uruchomienia. – Swordfish0321