【发布时间】:2015-04-17 18:59:51
【问题描述】:
我正在使用 Angular 工厂在 Parse.com 上的课程上执行 CRUD。我总共有 4 个类,需要对所有 4 个类执行创建、获取、放置、删除。虽然每个类的 URL 都不同,但其他一切都保持不变。我可以将变量传递给工厂以更改 api URL 中的类名吗?
这是一个工厂的例子。
.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'
}
});
}
}
}])
显然这个 x4 是一团糟。
所以我需要将 URL 从 /Programmes 更改为 /Users /Prescription
我像这样从我的控制器中调用它:
Programme.edit($localStorage.programme.id, {exerciseData:exercises}).success(function(data){
});
其次,我如何根据 Javascript SDK 将错误处理程序标记到此控制器函数上?
【问题讨论】:
-
老实说,当您开始进入权限领域时,您应该将其抽象到配置或运行块中。
标签: javascript angularjs parse-platform factory