2015-11-04 29 views
1

JSONAPI specification, under Resource Objects它給出了一個資源的這個例子:包含在JSONAPI如何將type/id轉換爲可導航的URL?

{ 
    "type": "articles", 
    "id": "1", 
    "attributes": { 
    "title": "Rails is Omakase" 
    }, 
    "relationships": { 
    "author": { 
     "links": { 
     "self": "/articles/1/relationships/author", 
     "related": "/articles/1/author" 
     }, 
     "data": { "type": "people", "id": "9" } 
    } 
    } 
} 

如果我不使用資源包容,什麼都要我的客戶與信息做:

"data": { "type": "people", "id", "9" } 

響應包括一個到article的作者(/articles/1/author)的鏈接 - 我可以通過閱讀data { ... }的迴應內容來看出這篇文章的作者是id=9的人,但我實際上無法對這些信息做任何有用的事情。

這似乎直覺,我可以用這些信息做一個GET請求/people/9檢索作者信息,但是,這並不似乎是JSONAPI規範的一部分(雖然有關於沿着這些網址線條recommendation對於資源收集)

內嵌的type/id信息僅與資源包含或與先前緩存的某些響應數據進行交叉引用的上下文相關嗎?或者是否有關於將type+id轉換爲資源URL(​​)的未公開約定?

回答

0

這是爲了交叉引用從服務器檢索到的其他數據。您可能在其他時間偶然加載記錄person:9,並且知道article:1上的author關係將爲您節省發送GET/articles/1/relationships/author的麻煩。

例如,客戶端存儲的ember-data會自動爲您解析引用。