Javascript 如何启动角度服务(post、get和delete)

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)--

我用editor.swagger生成了一个代码,我想用angular为该代码编写一个GUI。由于我是angular方面的新手,我不太懂如何开始编程。我首先决定创建3个文件:index.html、index.js和service.js

以下是我代码的一部分:


我不知道这是不是一个好的开始。但问题是,我不知道我应该如何处理POST和DELETE。你能帮帮我吗?

基本上,我们有4种休息操作方法

  • 创建(POST)——创建一个新用户(例如,它可以是任何内容)
  • 读取(获取)--获取所有用户
  • 更新(PUT)--更新用户的属性
  • 删除(Delete)——删除用户 如果您需要进一步澄清,请告诉我
  • 在服务中,您可以做到这一点

    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
    }