自从我使用棱角分钟以来,已经有3个月了,我很喜欢它。完成了一个使用它的应用程序,现在我正在进行代码重构或改进我的代码以获得更好的练习。我有一个使用$ http的Api service.js,我想将它迁移到使用$ resource:)
我这里有一个使用$ http:
的api代码示例Service.js
authenticatePlayer: function(postData) {
return $http({
method : 'POST',
url : api + 'auth/player',
data : postData,
headers : {'Content-Type' : 'application/json'}
});
},
#Controller.js
Api.authenticatePlayer(postData).then(function (result){
//success
}, function(result) {
//error also this will catch error 400, 401, and 500
});
上面的代码正在运行,现在这是我第一次尝试使用$ resource:
authenticate: function() {
return $resource(api + "auth/:usertype",
{
typeOfUser : "@usertype" //types can be player, anonymous, admin
},
{
post : { method : "POST" }
}
);
}
#Controller
var postData = {
email : scope.main.email,
password : scope.main.password
};
var loginUser = new Api(postData);
loginUser.$post(); //error T__T
这就是我得到了多少,不知道如何使用我的控制器中的$ resource将数据传递给我的api。这只是我的api电话的一部分,还有一堆,但现在这样做。 :d。
非常感谢任何帮助。
由于
答案 0 :(得分:1)
你可以试试这个:
API
authenticate: function(){
return $resource(api+"auth/:usertype",{},post:{method:"POST"});
}
注意:URL中的usertype表示您传递给postData的usertype属性的值将替换URL的部分
控制器
var postData = {email:scope.main.email,password:scope.main.password};
API.authenticate().post({usertype:'player'},postData,function(response){
console.log(response);
});
或者您可以像这样获取响应:
var response = API.authenticate().post({usertype:'player'},postData);
希望这有用。