AngularJS $http 및 $리소스
전화하고 싶은 웹 서비스가 있습니다. $resource
★★★★★★★★★★★★★★★★★」$http
떤떤 것것 ?? ?? ???
$resource
: https://docs.angularjs.org/api/ngResource/service/$resource
$http
: https://docs.angularjs.org/api/ng/service/$http
위의 두 개의 API 페이지를 읽고 난 후 나는 길을 잃었다.
어떤 차이가 있는지, 어떤 상황에서 사용해야 하는지 알기 쉬운 영어로 설명해 주시겠습니까?어떻게 하면 이러한 콜을 구조화하고 결과를 js 오브젝트로 올바르게 읽을 수 있을까요?
은 맞지만,을 잘 하지 못하는 것 .REST
는 의 .HTTP
할 수 을 뜻합니다.REST
통해 할 수HTTP
다 할 수 것은 .HTTP
통해 할 수REST
게게이이이$resource
$http
내부적으로
그럼, 서로를 언제 사용할까요?
한 것은 ★★★★★★★★★★★★★★★★★★★」REST
하고 있는 이 바로 접속하려고 하는 것입니다.RESTful
서비스, " ",$resource
웹 서비스와의 상호 작용이 매우 쉬워집니다.
신른, 른른른른이 모든 .RESTful
service 、「 」를 .$http
도 있어요.RESTful
(「」를 통한)$http
그것은 , 보다 더 입니다.$resource
이 AngularJs 이외에서 AngularJs를 사용하여 사용하고 있는 jQuery.ajax
각도(Angular)와)$http
를 참조해 주세요.
$http
에이잭스이치★★★★★★★★★★★★★★★★ $http
'만들기'를 될 거예요.GET
,POST
,DELETE
호출을 수동으로 입력하고 반환되는 개체를 직접 처리합니다.
$resource
»$http
RESTful Web API입니다.
일반적으로 , 는, 「RESTful Web」등의 해, 그 작업을 입니다.GET
,POST
,PUT
,DELETE
a, 등, 등, 를, a, a, a, a, a, a, ,.$resource
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , .GET
하고 JavaScript 개체로 .POST
하거나, 하거나 합니다.DELETE
.
그게 말이 된다면요
$http
는 범용 AJAX 콜을 발신합니다.이 콜에서는 일반적으로 RESTful api와 Non-RESTFUL api를 포함할 수 있습니다.
★★★★★★★★★★★★★★★★★」$resource
그 RESTful 부분에 특화되어 있습니다.
Restful 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가 resangular와 같은 RESTFul API를 처리하는 데 도움이 되는 서드파티 플러그인도 있습니다.
가 와 같은 /api/getcarsinfo
건 다 $http
.
내 생각에 답은 코드를 작성할 때 당신이 누구냐에 따라 더 달라지는 것 같아요.Angular를 처음 사용하는 경우 필요한 이유를 알 때까지 사용하십시오.어떻게 해야 하는지 구체적으로 경험하기 전까지는요$http
'억울하다'라는 말을 쓰면 가 있는지 알 수 있을 거예요.또한 이 기능을 사용하는 경우의 의미를 이해하고 있습니다.$resource
당신의 코드로, 계속$http
.
이것이 나의 경험이었다.저는 첫 번째 Angular 프로젝트를 시작했고, RESTful 인터페이스에 HTTP 요청을 해야 했습니다. 그래서 지금 하고 있는 것과 같은 조사를 했습니다.는 'SO를 요.$resource
이건 돌이킬 수 있는 실수였어이유는 다음과 같습니다.
$http
예는 풍부하고, 도움이 되며, 일반적으로 당신이 필요로 하는 것입니다. ★★★$resource
예는 드물고, (내 경험상) 필요한 것은 거의 없습니다.Angular 를 알 수 . 그 때 보고 이 되는 Angular를 수 없게 가 납니다.$resource
를를들들들들들들$http
아마 당신이 찾고 있는 것에 대한 1대 1의 멘탈 맵일 겁니다.$http
$resource
아직 마인드 맵이 없는 뉘앙스를 많이 담고 있어요- 아, 내가 새로운 컨셉을 배울 필요가 없다고 말했나?앵귤러 신참으로서 당신은 약속에 대해 배워야 한다.
$http
하고 " " " " 입니다..then
가능하기 때문에 Angular에 대해 배우고 있는 새로운 내용이나 약속과 딱 들어맞습니다.$resource
약속을 직접 돌려주지 않기 때문에 Angular Fundaments에 대한 잠정적인 이해가 복잡해집니다. $resource
는 RESTful CRUD 콜의 코드와 입력 및 출력의 변환을 압축하기 때문에 강력합니다.것이 입니다.$http
신 to to. 다른 사람에게는 른른른른른른른른른.$resource
에 혼란스러운 구문과 파라미터 전달의 암호화 레이어가 추가되었습니다.
전 나 자신에게 " with three"$http
아, 아, 아, 아, 아.
$resource는 raw 문자열이 아닌 서버로부터의 응답으로 오브젝트 또는 어레이를 기대하는 것이 중요하다고 생각합니다.따라서 응답으로 raw 문자열(또는 오브젝트와 어레이 제외)이 있는 경우 $http를 사용해야 합니다.
를 $http
★★★★★★★★★★★★★★★★★」$resource
엄밀히 말하면, 본질적으로 옳고 그름의 답은 없다.둘 다 똑같이 할 것이다.
★★★의 $resource
는 템플릿 문자열(플레이스 홀더를 포함하는 문자열)을 파라미터 값과 함께 전달할 수 있도록 합니다. $resource
는 템플릿 문자열의 자리 표시자를 개체로 전달되는 파라미터 값으로 바꿉니다.이는 RESTFul 데이터 소스와 상호 작용할 때 대부분 유용합니다.이러한 데이터 소스는 URL을 정의하기 위해 유사한 원리를 사용하기 때문입니다.
what?$http
「비동기 HTTP 요구」입니다.
리소스 서비스는 REST APSI를 사용하기 위한 유용한 서비스일 뿐입니다.리소스 서비스를 사용할 때 CRUD 메서드(작성, 읽기, 업데이트 및 삭제)를 쓰지 않습니다.
제가 보기엔 자원 서비스는 지름길일 뿐이고, http 서비스만 있으면 무엇이든 할 수 있습니다.
$http에서 $resource를 사용할 때 주의할 점은 .net에서 Web API를 사용하고 있는지 여부입니다.
$리소스는 단일 목적을 실행하는 하나의 컨트롤러에 연결되어 있습니다.
$resource('/user/:userId', {userId:'@id'});
[HttpGet]
public bool Get(int id)
{
return "value"
}
public void Post([FromBody]string value)
{
}
public void Put(int id, [FromBody]string value)
{
}
public void Delete(int id)
{
}
하지만 $http는 어떤 것이든 될 수 있습니다.URL을 지정하기만 하면 됩니다.
$138.get - "api/certifate"
[HttpGet]
public bool Authenticate(string email, string password)
{
return _authenticationService.LogIn(email, password, false);
}
그냥 제 의견이에요
$resource 서비스는 현재 약속을 지원하지 않기 때문에 $http 서비스와의 인터페이스가 확연히 다릅니다.
RESTFUL을 사용하여 할 수 .$resource
그러면 리소스를 코드 내에서 정의하고 리소스에서 여러 작업을 수행할 때 리소스를 사용할 수 있습니다.이것에 의해, 코드의 가독성과 보수성이 향상됩니다.
의 콜을, 갱신과 는, 「포스트」, 「삭제」, 「업데이트」를 .$http
★★★★★★★★★★★★★★★★★」$resource
( 는는 ( ( )
언급URL : https://stackoverflow.com/questions/13181406/angularjs-http-and-resource
'IT' 카테고리의 다른 글
PHP에서 복수 또는 단수를 사용하여 어레이 이름을 지정합니까? (0) | 2023.01.21 |
---|---|
MySQL 워크벤치로 csv 파일을 Import하는 방법 (0) | 2023.01.15 |
고정 헤더에 대해 조정하기 위해 html 앵커 오프셋 (0) | 2023.01.15 |
TIMESTAMP 열을 ZonedDateTime JPA 엔티티 속성에 매핑하려면 어떻게 해야 합니까? (0) | 2023.01.15 |
SQL 쿼리에서 LEFT JOIN 순서를 정렬하는 방법 (0) | 2023.01.15 |