$http
ทำให้การโทร AJAX สำหรับวัตถุประสงค์ทั่วไปซึ่งโดยทั่วไปหมายถึงสามารถรวมAPE RESTfulและNon-RESTful API
และ$resource
เป็นผู้เชี่ยวชาญสำหรับสงบส่วนที่
Api ที่พักผ่อนได้ได้มาแพร่หลายในช่วงไม่กี่ปีที่ผ่านมาเนื่องจากมีการจัดระเบียบ URL ที่ดีขึ้นแทนที่จะเป็น URL แบบสุ่มที่เขียนขึ้นโดยโปรแกรมเมอร์
ถ้าฉันใช้RESTful APIเพื่อสร้าง URL มันจะเป็นอย่างไร/api/cars/:carId
ก็จะเป็นสิ่งที่ชอบ
$resource
วิธีดึงข้อมูล
angular.module('myApp', ['ngResource'])
// Service
.factory('FooService', ['$resource', function($resource) {
return $resource('/api/cars/:carId')
}]);
// Controller
.controller('MainController', ['FooService', function(FooService){
var self = this;
self.cars = FooService.query();
self.myCar = FooService.get('123');
}]);
นี้จะทำให้คุณมีวัตถุทรัพยากรซึ่งจะมาพร้อมกับget
, save
, query
, remove
,delete
วิธีการโดยอัตโนมัติ
$http
วิธีดึงข้อมูล
angular.module('myApp', [])
// Service
.factory('FooService', ['$http', function($http){
return {
query: function(){
return $http.get('/api/cars');
},
get: function(){
return $http.get('/api/cars/123');
}
// etc...
}
ดูว่าเราจำเป็นต้องกำหนดการดำเนินการทั่วไปในRESTFul APIอย่างไร อีกอย่างหนึ่งที่แตกต่างคือ$http
ผลตอบแทนpromise
ในขณะที่$resource
ส่งกลับวัตถุ นอกจากนี้ยังมีปลั๊กอินบุคคลที่สามเพื่อช่วยจัดการ Angular กับRESTFul APIเช่นเป็นรูปสี่เหลี่ยมผืนผ้า
หาก API /api/getcarsinfo
เป็นสิ่งที่ต้องการ $http
ซ้ายทั้งหมดสำหรับเราคือการใช้งาน