我对REST不太了解,但根据我收集到的信息,以下URL符合REST原则。资源布局如下:
/user/<username>/library/book/<id>/tags
^ ^ ^ ^
|---------|-----------|---|- user resource with username as a variable
|-----------|---|- many to one collection (books)
|---|- book id
|- many to one collection (tags)
GET /user/dave/library/book //retrieves a list of books id's
GET /user/dave/library/book/1 //retrieves info on book id=1
GET /user/dave/library/book/1/tags //retrieves tags collection (book id=1)
然而,如何优化这个示例API呢?比如说我的图书馆里有1万本书,我想获取每一本书的详细信息。我是真的需要在
/library/book
中为每一个id强制进行一次http调用吗?还是应该将多个id作为参数启用?/library/book/<id1>,<id2>...
并且像批量获取那样一次性获取100个id?REST原则对这种情况有什么说法?你有什么看法吗?
再次感谢。