Как правильно выставить булевы функции поиска при разработке RESTful API? - PullRequest
1 голос
/ 08 декабря 2011

Я разрабатываю RESTful API для функции поиска, которая выглядит примерно так:

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

Глядя на этот URI, я не сразу знаю, какие из этих двух запросов выполняет клиент:

а) все книги Джона Смита, а также все книги под названием «Хирургия головного мозга для чайников»

б) все выпуски «Хирургия мозга для чайников», автором которых является Джон Смит.

Как я могу изменить дизайн моих URI, чтобы сделать это более явным?

1 Ответ

1 голос
/ 08 декабря 2011

Как я понимаю из примеров, "автор" - это ресурс:

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
...