¿Cuál es la diferencia entre usar Restangular sobre ngResource?

Diferencias clave entre Restangular y ngResource:

  • En lugar de hacer el relleno «mágico» de objetos como $recurso, Restangular usa promesas (la promesa representa los resultados eventuales de una operación. Usará una promesa para especificar qué probar cuando una operación tiene éxito o falla).
  • Restangular no tiene ningún problema con las barras inclinadas al final, adicional: dentro de la URL, escapando información, esperando solo arrays para obtener listas, etc.
  • Restangular admite todos los métodos HTTP, mientras que $resource solo admite ‘GET’, ‘POST’, ‘PUT’, ‘DELETE’.
  • Soportes restangulares Etag de la caja. No necesitas hacer nada. ETags y If-None-Match se utilizarán en todas sus requests.
  • En Restangular, si recibe algún elemento del servidor que presenta un enlace a sí mismo, lo usará para cuestionar al servidor en lugar de escribir la URL manualmente.
  • Cada vez que desee intentar una invitación, simplemente se revolcará en el heno usando lo que Restangular le devolvió. no puedes crear un objeto de reemplazo para esto. Pero, mientras usa $resource, debe crear un objeto $resource por solicitud.
  • Con $recurso, le gustaría escribir la plantilla de URL. En Restangular, no escribes ninguna URL. solo escribe el nombre del recurso que le gustaría obtener y eso es todo.
  • Si tiene recursos RESTful anidados, Restangular puede manejarlos por usted. no necesita conocer la URL, la ruta ni nada para intentar todas las operaciones HTTP que desee.

Javascript

// Restangular returns promises
Restangular.all('users').getList() // GET: /users
    .then(function (users) {
  
        // Returns an inventory of users
        // First Restangular obj in list: { id: 123 }
        $scope.user = users[0]; 
    })
// code
  
// Restangular objects are self-aware and 
// skills to form their own RESTful requests
// GET: /users/123/cars
$scope.user.getList('cars'); 
  
// You'll also use your own custom methods
// on Restangular objects
// POST: /users/123/sendMessage
$scope.user.sendMessage(); 
  
// Chain methods together to simply
// build complex requests
$scope.user.one('messages', 123)
    .one('from', 123).getList('unread');
// GET: /users/123/messages/123/from/123/unread

En pocas palabras, diremos que además de las funciones adicionales y, por lo tanto, el enfoque basado en promesas, Restangular también puede manejar todas sus URL, para que no necesite saber nada sobre ellas.

Javascript

Restangular.one("users", 123).get().then(function(user) {
    $scope.user = user;
});
  
// code
  
// Automatically does the request to /users/123/cars 
// because it remembers during which object you're asking it.
$scope.user.getList('cars')

Publicación traducida automáticamente

Artículo escrito por swapnil074 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *