鉴于这种服务以获取宾馆信息:如何以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