2016-07-07 1 views
0

OData 응답 객체를 다른 ODataModel.create 함수로 보낼 수있는 정규화 된 js 객체로 변환하는 라이브러리의 메소드를 찾고 있습니다. OData "객체"는 'd', '__meta', 'results'등을 포함하는 OData REST 응답이됩니다.UI5 - OData (Response) 객체 정규화

유틸리티 모듈에있는 사용자 정의 메서드로 작동하는 솔루션이 있지만 그 뿐만이 아닙니다. 가능한 모든 OData 규칙에 대한 탄력성에 대해 확신합니다.

답변

1

이 유효한 하나로, OData 본체에 d, __metaresults 섹션이 필요가 없습니다 :

  1. d 물약는 선택 사항입니다.

    : 당신은 또한 단지와 같은 일반 객체로 몸을 형성 할 수있다 { ID : 12345, 이름 : '이 유효한 하나로, OData의 몸'}

  2. __metadata 부분뿐만 아니라 선택 사항이며 빠져있을 수 있습니다.

  3. results 섹션은 엔터티 집합을 쿼리 할 때 표시됩니다. 키를 제공하여 단일 엔터티를 쿼리하는 경우 하나의 결과 만 있으므로이 섹션은 생략됩니다. 모든 제출이 별도의 작업에서 발생하기 때문에 OData 서비스에 엔티티를 제출하려면 results 섹션을 사용할 수 없습니다. 그와

, 당신의 표준화/처리 코드는 매우 간단하고 같이 볼 수 있었다 :이 인생을 더 쉽게 만드는 희망

jQuery.each(odata.results, function(idx, value) { 
    var body = value.d ? value.d : value; 
    delete body.__metadata; 
    // Do something with the body, e.g.: 
    ODataModel.create("/AwesomeEntity", body); 
}); 

? 전체 OData v2 JSON 사양은 여기에서 확인할 수 있습니다. http://www.odata.org/documentation/odata-version-2-0/json-format/

+0

저는 함수가 있으며 작동합니다 - 동일한 작업을 수행하는 UI5 프레임 워크 내에서 뭔가를 찾고 있습니다. – whoiz