0

私が消費しているデータは、Instagram のUser Model Responseによく似ています。プロパティはルート レベルにあるのではなく、1 つ上のレベルの「データ」オブジェクトにあります。さらに複雑なことに、深く埋め込まれたオブジェクトがあります。

編集

作業している実際のモデルをより適切に表すために、データを編集しています。

{
    {
    "meta": {
        "code": 200
    },
    "pagination": {
        "next_url": "..."
        "next_max_id": "..."
    },
    "data": {
        "name": "I'm Making Coffee",
        "film_id": "...",
        "duration": 55,
        "picture": "https://directr.blob.core.windows.net/prints/nb8yr_print_H360.jpg",
        "print": {
            "print_id": "...",
            "url": "...",
            "formats": [
                "mp4",
                "ogg",
                "jpg"
            ],
            "sizes": [
                {
                    "width": 960,
                    "height": 540
                },
                {
                    "width": 640,
                    "height": 360
                },
                {
                    "width": 320,
                    "height": 180
                }
            ]
        },
        "comments": {
            "count": 0,
            "data": []
        },
        "hearts": {
            "count": 2,
            "data": [
                {
                    "user_id": "55555",
                    "alias": "jonah"
                },
                {
                    "user_id": "66666",
                    "alias": "eli"
                }
            ]
        },
        "directrs": {
            "count": 1,
            "data": [
                {
                    "user_id": "55555",
                    "name": "jonah",
                    "picture": "/api/picture.jpg"
                }
            ]
        },
    }
}

この映画モデルはかなり深く埋め込まれています。データのルートは、データの下の 1 レベルの深さです。

ページネーションは、別のコントロールに渡すのに役立ちます。http ステータス応答は、まったく必要ないか、モデル化する必要がありません。「コメント」、「ハート」、そして確かに「印刷」を独自のモデルに分離し、それらをバインドするための関係を作成する必要があるようです。

ソースを調べてみましたが、このJSONを必要な形式にカットするためにフローのどこに接続する必要があるのか​​ わかりません...オブジェクトの正しい「ルート」を指すことができるかどうかEmber の方法で、または JSON を処理する前にハックすることができれば。

これらすべてを取り除くという Ember の使命は素晴らしい目標です。ソースを理解できたらいいのにと思います... :) 助けてくれてありがとう。

4

1 に答える 1

0

https://github.com/xqiu/MVCSPAWithEmberjs/tree/master/MvcSPAWithEmberjs/Scripts/appから webapi_adapter.js および webapi_serializer.js ファイルを見てください。Visual Studio 2012 更新用の ember.js SPA テンプレート用に作成しました。 2 MVC4 SPA テンプレート。

ember-data と互換性のある JSON を返す WebAPI を取得するには、ルート ノードを変更し、その他の妥協を行う必要があります。

于 2013-06-18T17:14:15.933 に答える