[javascript] ngResource보다 Restangular를 사용하면 어떤 이점이 있습니까?

ngResource이미 구현하는 것이 정말 간단보입니다

ngResource를 통해 Restangular 를 사용하는 장점 / 단점은 무엇입니까 ?

1.1.3 $resource약속을 반환하고 최신 PR 커밋을 사용하여 암시 될 수 있습니다 . $resourceRestangular가 수행하는 추가 동사를 지원 하기 위해 향후 지원이 제공 됩니까? 그리고 그 일이 발생하면 Restangular는 사라지고 무적 상태가 될 것 같습니다.



답변

저는 Restangular의 제작자입니다.

README에 $ resource와의 차이점이있는 섹션을 만들었습니다. https://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource 여기에서 확인할 수 있습니다

어쨌든 추가 기능과 약속 기반 접근 방식 외에도 Restangular는 모든 URL을 처리 할 수 ​​있으므로 URL에 대해 알 필요가 없습니다.

자동차에 대해 다음과 같은 것이 있다고 가정하십시오. / users / 123 / cars / 456

$ resource에서 해당 URL을 수동으로 구성해야하며이를 위해 $ resource 객체도 수동으로 구성해야합니다. Restangular는 URL을 “기억”하여이를 도와줍니다.

그래서 당신이 어떤 곳에서한다면

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

도움이 되었기를 바랍니다!


답변

Restangular의 RequestInterceptor가 Request를 만들기 전에 객체에서 일부 필드를 제거하는 것이 매우 편리하다는 것을 알았습니다. 현재 작업중 인 대부분의 REST 웹 서비스는 PUT 요청의 객체 데이터에서 ID를 예상하지 않습니다 (예 : URL). 일반적으로 PUT에서 업데이트 할 수없는 추가 데이터 필드 (예 : id 또는 제목 등을 설정하여 생성되는 슬러그)를 기대하지 않습니다. 나는 깨끗한 방식으로 $ resource로 그것을하는 방법을 알지 못했지만 Restangular를 사용하여 간단하다는 것을 알았지 만 어떻게 든 가능한지는 확신합니다.

분명히 추가 필드를 무시하도록 웹 서비스를 변경할 수도 있지만 항상 가능하지는 않습니다.


답변

ngResource는 최신 안정 릴리스 (현재 1.0.6)에서 약속을 반환하지 않습니다. 또한 Restangular는 ngResource보다 많은 동사를 노출시키는 것처럼 보입니다 (PUT, OPTIONS, PATCH 등을 노출시킵니다).

추가 동사가 필요하지 않고 AngularJS의 불안정한 분기 (ngResource에 대한 약속 포함)에있는 경우 ngResource를 통해 Restangular를 사용해야하는 주요 이유는 없습니다.

편안하다고 느끼는 것을 사용하십시오.


답변

위의 답변에 대한 다음과 같은 저와 같은 새로운 독자에게는 그러한 생각에 관심이 있습니다.

“그런 일이 발생하면 Restangular는 사라지고 무적 상태가 될 것 같습니다.”

“이 사람이 Google의 ngResource가 누락 된 모든 기능을 따라 잡기 때문에 Restangular에 대한 지원을 중단하면 3 개월 안에 어떤 일이 발생합니까?”

  • [ 2 년 전 질문 ]

제 생각에는 오픈 소스 라이브러리 의 생존을위한 유일한 보장 은 그 주위에 구축 된 커뮤니티입니다. 가장 좋은 예는 mariaDBWebScaleSQL 입니다. 둘 다 위대한 관계형 데이터베이스 관리 시스템 MySQL에 대한 갈래의 포크로 탄생했습니다.

이 글을 쓰는 시점에서 Restangular having 6699 stars and 727 forks는 이제 angularJs 2.0과 ES6를 지원하는 Restangular 2.0으로 나아가고 있습니다.


답변

최소한의 지원만으로 영원히 실행하고 싶은 빠른 간단한 웹 사이트의 경우 내가 좋아하는 프로젝트를 수행 할 때 모든 멋진 기술을 즐기고 사용하려고 할 때 마다 내장 된 각도 http HttpClient 를 사용합니다. Ngx-Restangular를 사용 하겠습니다

또한 ngx-restangular는 이름에서 알 수 있듯이 RESTful 서비스와 함께 작동한다는 것을 알아야합니다. 따라서 SOAP를 제공하는 서비스의 경우 Ngx-Restangular 를 사용할 수 없습니다

https://ngx-restangular.com/

그 존재는 말했다 내가 NGX-restangular 대부분의 시간을 사용 나는 항상 내가 멋진을 찾아 내가 최고라고 생각 무엇을 구현하려고 해당 프로젝트에 대한 작업을 시도한다.

행운을 빕니다!


답변