2016-07-07 6 views
0

私はライブラリ内のメソッドを探して、ODataレスポンスオブジェクトを別のODataModel.create関数に送ることができる正規化されたjsオブジェクトに変換します。 OData "オブジェクト"は、 'd'、 '__meta'、 'results'などを含むOData REST応答になります。UI5 - OData(レスポンス)オブジェクトの正規化

私はユーティリティモジュールのカスタムメソッドを使用していますが、すべての可能なODataルールに対するその回復力について確かめてください。

答えて

1

有効なODataの本体にd__metaresultsセクションを用意する必要はありません。

  1. dポーションはオプションです。

    { ID:12345、 名: 「これは有効なODataの本体である」}また、単にのような通常のオブジェクトとして、あなたの体を形成することができる

  2. __metadataセクションは同様にオプションであり、放置されている可能性があります。

  3. resultsセクションは、エンティティセットを照会するときに受け取るものです。単一のエンティティ(そのキーを提供することによって)を照会すると、このセクションは1つの結果のみが残るため、省略されます。すべてのサブミットが別々の操作で発生するはずなので、エンティティを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