Backbone 模型和集合 url 使用 NodeJS 服务器设计
Backbone Model and Collection url design with a NodeJS server
我是 Backbone、NodeJS 和 Web 开发的新手,并且正在努力正确设计我的 Backbone 集合和模型 GET
NodeJS 服务器上的请求和路由。
起初我只使用模型并指定了完美运行的 urlRoot
。一旦我将我的模型添加到集合中,它就会使用集合的 url
参数,一旦我意识到发生了什么,这就很好了。
假设我有模型 "Book" 和一个集合 "Library" 定义如下:
图书
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 服务器上指定了一个路由,我会 return指定id的书。
我的问题
我不知道关于集合的 GET
请求的良好做法和设计是什么。比如说,如果我想获取某个作者的藏书,我的 url 看起来会像 /books/:author_id
,但这会与我的节点上的模型 GET
请求走相同的路线js 服务器。
如何区分节点服务器上的模型 GET
请求和集合 GET
请求?我不想使用快速破解,但想正确设计它。
什么是通过集合 GET
请求传递 'filter' 参数的最佳实践?
当我们需要像这样的多个过滤器时,我们会做这样的事情。
/books/:id
/books/byAuthor/:authorId
/books/bySearchTerm/:searchTerm
虽然在我们的例子中我们使用 Angular 和 Repos 来获取我们的数据,但是 url 模式无论您的客户端结构如何都有效。
我是 Backbone、NodeJS 和 Web 开发的新手,并且正在努力正确设计我的 Backbone 集合和模型 GET
NodeJS 服务器上的请求和路由。
起初我只使用模型并指定了完美运行的 urlRoot
。一旦我将我的模型添加到集合中,它就会使用集合的 url
参数,一旦我意识到发生了什么,这就很好了。
假设我有模型 "Book" 和一个集合 "Library" 定义如下:
图书
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 服务器上指定了一个路由,我会 return指定id的书。
我的问题
我不知道关于集合的 GET
请求的良好做法和设计是什么。比如说,如果我想获取某个作者的藏书,我的 url 看起来会像 /books/:author_id
,但这会与我的节点上的模型 GET
请求走相同的路线js 服务器。
如何区分节点服务器上的模型 GET
请求和集合 GET
请求?我不想使用快速破解,但想正确设计它。
什么是通过集合 GET
请求传递 'filter' 参数的最佳实践?
当我们需要像这样的多个过滤器时,我们会做这样的事情。
/books/:id
/books/byAuthor/:authorId
/books/bySearchTerm/:searchTerm
虽然在我们的例子中我们使用 Angular 和 Repos 来获取我们的数据,但是 url 模式无论您的客户端结构如何都有效。