1

我正在为一个看起来像这样的搜索功能设计一个 RESTful API:

http://example.com/books/?author=John+Smith&title=Brain+Surgery+For+Dummies

查看此 URI,我不立即知道客户端正在执行这两个查询:

a) John Smith 的所有书籍,以及所有题为“脑外科傻瓜”的书籍

b) 约翰·史密斯 (John Smith) 撰写的所有版本的“傻瓜脑外科手术”。

我该如何重新设计我的 URI 以使其更加明确?

4

1 回答 1

1

正如我从示例中了解到的那样,“作者”是一种资源:

http://example.com/books/authors/John+Smith

或者

http://example.com/books/authors/john-smith

在作者的图书收藏中搜索图书

http://example.com/books/authors/John+Smith?title=Brain+Surgery+For+Dummies

或者

http://example.com/books/authors/john-smith?title=Brain+Surgery+For+Dummies

在图书收藏中搜索图书:

http://example.com/books?title=Brain+Surgery+For+Dummies

在任何一种情况下搜索都意味着不知道该书的确切名称/标题,并且搜索可能会返回多个项目,尽管特定的书本身也是一种资源。在这种情况下,您需要为书定义 URI:

图书资源:

http://example.com/books/brain-surgery-for-dummies
于 2011-12-08T06:10:50.370 回答