鑑於這種服務以獲取賓館信息:如何以RESTful方式「延遲加載」?
> GET /hotel/{id}
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
> <biggie>aaa....I am 300K</biggie >
< </hotel>
問題是,biggie
是300K,我們不希望與每一個響應返回。延遲加載此值的RESTful方式是什麼?
我們應該建立兩個資源:
> GET /hotel/{id}
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
< </hotel>
和..
> GET /hotel/{id}/biggie
< HTTP/1.1 200 OK
< <biggie>
< <val>aaa....I am 300K</val>
< </biggie>
而且你只要求GET /hotel/{id}/biggie
當你真的需要這些數據?
這將工作..雖然沒有什麼特別的關於biggie
除了它是一個大型的數據集。我認爲將所有內容都保存在hotel
級別會更好,因爲所有屬性都只是hotel
的屬性。
緩存是我沒想到的另一種可能性。好主意。 – 2009-10-26 17:19:27