¿Cuál es la ventaja de usar Restangular sobre ngResource?


ngResource ya parece realmente simple para implementar las cosas...

¿cuáles son las Ventajas / Desventajas de la utilización de Restangular más ngResource?

1.1.3 $resource devolverá promesas y se puede implimentar usando último compromiso de PR. ¿Se ofrecerá apoyo futuro a $resource para apoyar verbos adicionales que Restangular hace? Y si eso sucede Restangular parece que va a desaparecer y convertirse en irrelevante.

Author: Community, 2013-05-15

5 answers

Soy el creador de Restangular.

He creado una sección sobre el README con las diferencias con $resource. Puedes comprobarlos aquí https://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource

De todos modos, en resumen, además de las características adicionales y el enfoque basado en promesas, la idea es que Restangular también puede manejar todas tus URL, para que no tengas que saber nada sobre ellas.

Supongamos que usted tiene algo como esto para los coches:/users/123/cars / 456

En resource resource, tendría que construir esa URL manualmente y también tendría que construir el objeto manually resource para esto manualmente. Restangular le ayuda en esto al "recordar" las URL.

Así que si lo haces en algún lugar

Restangular.one("users", 123).get().then(function(user) {
  $scope.user = user;
});

// Some other code

//Automatically does the request to /users/123/cars as it remembers in which object you're asking it.
$scope.user.getList('cars')

Espero que esto ayude!

 231
Author: mgonto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-23 22:04:05

Encontré el RequestInterceptor de Restangular bastante útil para eliminar algunos campos del objeto antes de hacer la Solicitud. La mayoría de los servicios web REST con los que estoy trabajando actualmente no esperan el id en los datos del objeto en una solicitud PUT, por ejemplo, solo en la url. Generalmente no esperan campos de datos adicionales que no puedan ser actualizados por PUT (como el id, o un slug que se genera al establecer el título, etc.). Me pareció que esto es sencillo con Restangular, mientras que no he descubierto cómo hacer con resource recursos de una manera limpia, pero estoy seguro de que es posible de alguna manera.

Obviamente uno también podría cambiar el servicio web para simplemente ignorar esos campos adicionales, pero eso no siempre es posible.

 8
Author: awdng,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-04 12:26:27

NgResource no devuelve promesas en la última versión estable (actualmente 1.0.6). Además, parece que Restangular expone más verbos que ngResource (expone PUT, OPTIONS, PATCH, etc.).

Si no necesita los verbos adicionales y está en la rama inestable de AngularJS (que incluye promesas para ngResource), no veo ninguna razón importante para usar Restangular sobre ngResource.

Use lo que se sienta cómodo.

 2
Author: rtcherry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-15 00:05:05

Como seguimiento a las respuestas anteriores y para nuevos lectores, como yo, interesados en esos pensamientos :

"Y si eso sucede Restangular parece que desaparecerá y se volverá irrelevante."

" ¿Qué pasa en tres meses cuando este tipo deja de apoyar a Restangular porque ngResource de Google alcanzó todas las características había desaparecido."

  • [ preguntado hace 2 años ]

En mi opinión el solo la garantía para la supervivencia de una biblioteca de código abierto es la comunidad construida alrededor de ella. un mejor ejemplo sería MariaDB y WebScaleSQL que ambos nacieron como una bifurcación creciente del gran sistema de gestión de bases de datos relacionales MySQL.

En este momento de escritura Restangular having 6699 stars and 727 forks ahora está avanzando a Restangular 2.0 que está destinado a soportar AngularJS 2.0 y ES6.

 1
Author: Salem Ouerdani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-27 11:18:22

Para un sitio web rápido y simple que quieras ejecutar para siempre con el mínimo soporte, usaría el angular http HttpClient quienquiera que esté trabajando en un proyecto que me encanta y estoy disfrutando e intentando usar todas las tecnologías geniales, entonces usaré Ngx-Restangular

También debe saber que ngx-restangular funciona con servicios RESTful solo como su nombre lo sugiere. Por lo tanto, para los servicios que proporcionan SOAP, no podrá usar Ngx-Restangular

Https://ngx-restangular.com/

Dicho esto Usaría ngx-restangular la mayoría del tiempo ya que siempre trato de trabajar en un proyecto que me parece genial e intento implementar lo que creo que es mejor.

¡Mucha suerte!

 0
Author: Nour Lababidi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-19 17:02:06