Я разрабатываю документацию для URI ресурса. Почти все довольно хорошо обсуждается в сети и очень полезно. Тем не менее, я немного застрял на шаблоне для зависимого ресурса. Итак, зависимый ресурс - это то, что существует на усмотрение его родительского ресурса. И если родитель перестает существовать, зависимый также исчезает. Итак, если у меня есть книги, зависимым ресурсом будет количество книг. Для любого данного запроса, если нет книг, то и счет не будет. Который отличается от, скажем, от автора ... у вас не может быть книг, но все же есть авторы. Хорошо. Итак, у меня есть что-то вроде этого URI и возвращенные данные
http://example.com/books.json?author=Homer
{"books": [
{"id": 33, "title": "Iliad", "author": "Homer", "pubyear": "800 BC"},
{"id": 33, "title": "Odyssey", "author": "Homer", "pubyear": "750 BC"}
]}
URI оканчивается во множественной версии общего имени существительного, а QUERY_STRING используется для фильтрации возвращаемого набора. Корневой узел в возвращаемом «хэше» - это общее существительное, которое было запрошено, а его ключ - это массив, каждый элемент которого является хэшем с парами ключ / значение.
Для подсчета мой инстинкт должен сделать следующее
http://example.com/books/count.json?author=Homer
{"books": [
{"count": 2}
]}
или даже
http://example.com/books/stats.json?author=Homer
{"books": [
{"stats": {
"count": 2,
"units": 10,
"sold": 3
}
]}
Но, похоже, правильный путь действительно должен быть
http://example.com/books.json/count?author=Homer or
http://example.com/books.json?aggregate=count&author=Homer
есть предложения, мысли?