Sto utilizzando una fabbrica angolare per eseguire CRUD sulle mie classi su Parse.com. Ho un totale di 4 classi e ho bisogno di eseguire creare, ottenere, inserire, eliminare su tutto 4. Anche se l'URL è diverso per ognuno, tutto il resto rimane lo stesso. Posso passare variabili alla fabbrica per cambiare il nome della classe nell'URL API?Variabile angolare Variabili di fabbrica REST
Ecco un esempio di una fabbrica.
.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'
}
});
}
}
}])
Ovviamente questo x4 è un disastro.
Così ho bisogno di cambiare l'URL /Programmes
-/Users
/Prescription
io chiamo questo come dal mio controllo in questo modo:
Programme.edit($localStorage.programme.id, {exerciseData:exercises}).success(function(data){
});
In secondo luogo come io sono in grado di contrassegnare il gestore degli errori su questo funzione del controller come per l'SDK di Javascript?
Onestamente, quando si inizia ad entrare nel territorio delle autorizzazioni si dovrebbe astratto nel blocco di configurazione o di esecuzione. – Swordfish0321