Javascript 如何启动角度服务(post、get和delete)
我用editor.swagger生成了一个代码,我想用angular为该代码编写一个GUI。由于我是angular方面的新手,我不太懂如何开始编程。我首先决定创建3个文件:index.html、index.js和service.js 以下是我代码的一部分:Javascript 如何启动角度服务(post、get和delete),javascript,angularjs,Javascript,Angularjs,我用editor.swagger生成了一个代码,我想用angular为该代码编写一个GUI。由于我是angular方面的新手,我不太懂如何开始编程。我首先决定创建3个文件:index.html、index.js和service.js 以下是我代码的一部分: 我不知道这是不是一个好的开始。但问题是,我不知道我应该如何处理POST和DELETE。你能帮帮我吗?基本上,我们有4种休息操作方法 创建(POST)——创建一个新用户(例如,它可以是任何内容) 读取(获取)--获取所有用户 更新(PUT)--
我不知道这是不是一个好的开始。但问题是,我不知道我应该如何处理POST和DELETE。你能帮帮我吗?基本上,我们有4种休息操作方法
var app = angular.module('app', []);
app.factory('UserService', function($http){
var user = {};
user.post = function(data){
return $http.post('url', data);
}
user.get = function(){
return $http.get('url');
}
user.delete = function(id){
return $http.delete('url');
}
user.update = function(id, data){
return $http.put('url', data);
}
return user
});
app.controller('Controller', function('UserService'){
// Get
UserService.get().success(function(){
});
UserService.post(data).success(function(){
});
UserService.delete(id).success(function(){
});
UserService.get(id, data).success(function(){
});
})
这可以通过$resource轻松完成,如果URL是适当的rest。您可以在Angluar JS中使用标准的4种方法(POST、GET、PUT、DELETE)。要在angular中使用这些,您必须使用angular提供的$http服务。要了解更多信息,请查看他们的文档:来自: 快捷方式方法的完整列表:
您还可以在
$http
服务中使用方法参数。所以$http(方法:'DELETE',…)
您可以使用$resource并将其作为服务返回
app.factory('factoryResource', ['$resource', function($resource) {
var resource = {
getResource: function(context) {
var rsc = $resource(context, {}, {'update': {method: 'PUT'}});
return rsc;
}
};
return resource; }])
在控制器中,应按如下方式注入新创建的服务:
app.controller('myCtrl', function($scope, factoryResource) {
$scope.resource = factoryResource.getResource('http://localhost:8080/api/v1/projects');
$scope.resource.save(object, successCallback, errorCallback); //post
$scope.resource.query(successCallback, errorCallback); //get all
$scope.resource.get({id: object.id}, successCallback, errorCallback); //get a specific object
$scope.resource.delete({id: object.id}, successCallback, errorCallback); //delete
}
希望这有帮助 是的,我知道。问题是我不知道如何用angular编写这些方法。我是否应该把它们放在同一个控制器中?等
app.factory('factoryResource', ['$resource', function($resource) {
var resource = {
getResource: function(context) {
var rsc = $resource(context, {}, {'update': {method: 'PUT'}});
return rsc;
}
};
return resource; }])
app.controller('myCtrl', function($scope, factoryResource) {
$scope.resource = factoryResource.getResource('http://localhost:8080/api/v1/projects');
$scope.resource.save(object, successCallback, errorCallback); //post
$scope.resource.query(successCallback, errorCallback); //get all
$scope.resource.get({id: object.id}, successCallback, errorCallback); //get a specific object
$scope.resource.delete({id: object.id}, successCallback, errorCallback); //delete
}