[英]how to start angular service (post, get and delete)
我使用 editor.swagger 生成了一個代碼,我想為該代碼編寫一個帶有角度的 GUI。 由於我是 angular 新手,我不太了解如何開始編程。 我首先決定創建 3 個文件:index.html、index.js 和 service.js。
這是我的代碼的一部分:
我不知道這是不是一個好的開始。 但問題是我不知道我應該如何處理 POST 和 DELETE。 你能幫我嗎?
您可以在 Angluar JS(POST,GET,PUT,DELETE) 中執行標准的 4 種方法。 要在 angular 中使用這些,您必須使用 angular 提供的 $http 服務。 要了解有關它的更多信息,請查看他們的文檔: https : //docs.angularjs.org/api/ng/service/$http
完整的快捷方法列表:
$http.get
$http.head
$http.post
$http.put
$http.delete
$http.jsonp
$http.patch
您也可以使用$http
服務中的方法參數。 所以$http(method: 'DELETE', ...)
var app = angular.module('app');
app.service('apiService', ['$http', function($http){
this.get = function(){
return $http.get(URL);
};
this.delete = function(id){
return $http.delete(URL, id);
}
this.post = function(data){
return $http.post(URL, data);
}
}]);
app.controller('controller', ['$scope', 'apiService', function($scope, apiService){
var getData = apiService.get().success(function(){
});
}]);
您可以使用 $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
}
希望這可以幫助;
基本上我們有 4 種 REST 操作方法
在角度使用服務中,您可以做到這一點。
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 是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.