2014-10-17 51 views
0

說我有兩根資源:休息 - 關係和ETag

/organizations 
/persons 

一個GET通話/persons/id回報所有關於某個人的信息。

A GET致電/persons/id/organizations返回一個人屬於的所有組織的數組。

A GET致電/persons/id/organizations/id返回該人所屬的特定組織的所有信息。它將返回與/organizations/id中相同的內容。

有擴大其組織信息的人的信息,兩個GET合併成一個單一GET一種可能性:

/persons/id/?expand=organizations 

我的問題是關於在後者請求的ETag。

訪問/persons/id時,ETag被添加到響應頭中。同樣,在訪問/persons/id/organizations/id時,ETag會添加到響應頭中。

現在的問題是:在訪問/persons/id?expand=organizations時應該將哪個ETag添加到響應標題中?

換句話說,每次更新相關組織時,我應該更新一個人的ETag嗎?

回答

0

這取決於您的系統。如果你有一個全球ETag,那麼沒有問題。如果每個實體都有一個ETag(或版本號),並且您想要將ETags分配給嵌套表示,那麼您遇到了問題...您可以定義一個自定義標頭並將ETags與IRI(URI)一起發送,或者你必須將它們添加到響應主體。這不是一個完全解決的問題(至少不是Hydra),我們討論了這個here