我是Backbone,NodeJS和Web开发的新手,在我的NodeJS服务器上正在设计我的Backbone Collection和Model GET
请求和路由时遇到了困难。
起初我只使用了模型并指定了完美运行的urlRoot
。将模型添加到集合后,它使用了集合' url
参数,一旦我意识到发生了什么就很好。
说我有模特" Book"和一个集合"图书馆"定义如下:
书
app.Book = Backbone.Model.extend({
defaults: {
title: 'No title',
author: 'Unknown'
}
});
库
app.Library = Backbone.Collection.extend({
model: app.Book,
url: '/books'
});
现在,如果我对模型发出GET
请求,则url将为'/books/:id
,其中包含在我的节点js服务器上指定的路由,并且我将返回具有指定ID的书。
我的问题
我不知道有关集合GET
请求的良好做法和设计。如果我想要获取特定作者的书籍集合,我的URL将看起来像/books/:author_id
,但这将与我的节点js服务器上的模型GET
请求的路径相同。 / p>
如何区分节点服务器上的Model GET
请求和Collection GET
请求?我不想使用快速黑客,但想要正确设计它。
通过'过滤'什么是最佳做法?带有GET
请求的参数?
答案 0 :(得分:0)
当我们需要像这样的多个过滤器时,我们会做这样的事情。
/books/:id
/books/byAuthor/:authorId
/books/bySearchTerm/:searchTerm
虽然在我们的例子中我们使用Angular和Repos来获取我们的数据,但是无论你在客户端的结构是什么,url模式都能正常工作。