如何从angularjs调用restful服务

时间:2013-10-23 09:44:55

标签: java json angularjs

我在java中编写了一个非常好的服务,并从angularjs调用它,但它没有用。如果我把静态json格式的作品。但是不适用于RESTful服务。下面是我在服务文件中的代码。

angular.module('intelesant.services', [])
    .value('version', '0.1')
    .service('customers1',function(){
         return $resource('http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo', {}, {
             query: { method: 'GET', isArray: true },
             create: { method: 'POST' }
     })
});

我的控制器文件是

intelesant.controller('HomeController', ['$scope','customers1', function(s,customers) {

    alert(JSON.stringify(customers));
    s.homeContent = 'Test Content for Home page. This can come from server via REST service.';
}]);

2 个答案:

答案 0 :(得分:1)

有一个名为Restangular的AngularJS服务,您可以在应用程序中轻松实现RESTful服务。

这样可以使用最少的客户端代码简化常见的GET,DELETE和UPDATE请求。它非常适合任何使用RESTful API数据的WebApp。

有关详细信息,请参阅Restangular

答案 1 :(得分:0)

您是否在代码中注入ngResource并包含angular-resource.min.js?这是fiddle accessing your service

angular.module('myApp', ['ngResource']);
function Ctrl($scope,$resource) {
    var Geonames = $resource('http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo', 
        {   }, 
        {
          query: { method: 'GET', isArray: true },
          create: { method: 'POST' }
        }
     );
     $scope.objs = Geonames.query();
   };
};
Ctrl.$inject = ['$scope','$resource'];