2017-04-16 8 views
0

topicsというモデルが自己参照型であるとしましょう(トピックのトピックparent_topic_idに属します)。JSON APIレスポンスで既に `data`にある` included`モデルを削除する必要がありますか?

したがって、sportsというトピックと、basketballという子トピックがあります。 sportsdataにすでにあるが、関連basketballに、それはまたincluded記録としてそれを添付することが有効であることを考慮すると、

{ 
    "data": [ 
    { 
     "type": "topics", 
     "id": "sports", 
     "attributes": { 
     "name": "Sports", 
     "show-role-title": null, 
     "created-at": "2017-04-16T21:19:25.000Z", 
     "updated-at": null 
     }, 
     "links": { 
     "self": "/topics/sports" 
     } 
    }, 
    { 
     "type": "topics", 
     "id": "sports-basketball", 
     "attributes": { 
     "name": "Basketball", 
     "show-role-title": null, 
     "created-at": "2017-04-16T21:19:25.000Z", 
     "updated-at": null 
     }, 
     "relationships": { 
     "parent-topic": { 
      "data": { 
      "type": "topics", 
      "id": "sports" 
      } 
     } 
     }, 
     "links": { 
     "self": "/topics/sports-basketball" 
     } 
    } 
    ], 
    "included": [ 
    { 
     "type": "topics", 
     "id": "sports", 
     "attributes": { 
     "name": "Sports", 
     "show-role-title": null, 
     "parent-topic-id": null, 
     "created-at": "2017-04-16T21:19:25.000Z", 
     "updated-at": null 
     }, 
     "links": { 
     "self": "/topics/sports" 
     } 
    } 
    ] 
} 

今:

JSON APIレスポンス

は、現在としてシリアライズされていますか?

答えて

0

この場合、2つのリソース/topics/parentTopicを持っている必要があり、要求が必要な場合は、プライマリオブジェクトと付属オブジェクトの両方に同じデータコピーを持つことが有効です。あなたの場合、要求は/topics?include=parentTopic

になります。JSON API specによると、必須ではありません。私の提案は/topicsで、親トピックデータを/topicsの関係(クライアントフレームワークに依存)から参照できます。特定のリソースレコードを照会すると、包含レコードを追加することができます。/topics/sports-basketball?include=parentTopic

関連する問題