2014-07-01 3 views
1

현재 클라이언트 측에서 breeze를 사용 중입니다. 나는 linq 쿼리를 작성하고 breeze를 사용하여 내 서버에 충돌하는 URL 쿼리로 변환합니다. 내가 생성하는 URL을 클라이언트 측에서 알아낼 방법이 있는지 궁금합니다.바람에 의해 생성 된 URL 얻기

코드 내가 사용하고 있습니다 :

var query = breeze.EntityQuery.from("Partners"); 
manager.executeQuery(query, function (data) { 
var results = data.results; 
............................... 
} 

답변

0

당신이 URL을 사용 하시겠습니까? 쿼리 개체를 전혀 살펴 보았습니까? 이 쿼리가 실행될 때 API의 URL에 추가하고 사용할 수 있습니다 경로입니다 자원 이름을 포함하는 쿼리가 실행 전에 -

var resource = query.resourceName; 

당신이 당신의 entityManager의 서비스 명에 이것을에 추가하는 경우 URL에 바람이 사용할 만들 수 있습니다 -

var fullPath = manager.serviceName + query.resourceName; 

당신이 사용 된 관리자 확인 할 수 있도록 쿼리뿐만 아니라 성공적으로 두 객체가 반환 완료되면, 서비스 명, 그리고 쿼리뿐만 아니라 다음 resourceName이.

+0

query.resourceName은 끝점입니다. Breeze가 생성하는 OData 쿼리 문자열이 포함되지 않습니다. 아마도 생성 된 URL을보고 싶어 할 것입니다. – emaia

1

EntityQuery 유형에 미등록 _toUri 방법이있다. 그것의 인수로 MetadataStore 걸립니다. 이 방법은 너무 디버깅 또는 학습 중 하나로, OData의 구문을 사용하여 계속 사용할 수 보장되지 않았는지

var query = new EntityQuery() 
     .from("Customers") 
     .where("companyName", "startsWith", "C") 
     .orderBy("companyName"); 
var queryUrl = query._toUri(myEntityManager.metadataStore); 

참고 괜찮지 만, 생산에 의존하지 않습니다.

관련 문제