主干网-内置REST功能
Backbone - built-in REST capability
我对Backbone内置的REST功能感到困惑。我的印象是,Backbone模型在model.save()
上会自动将idAttribute标识的值附加到urlRoot的末尾。但我在网上看到了很多例子,比如下面的例子,应用程序强制性地将id附加到url中。为什么?哪一个更好?
使用RequireJS的示例:
define(function(require) {
var Backbone = require('Backbone');
return Backbone.Model.extend({
urlRoot: 'http://rest-service.guides.spring.io/greeting',
url: function() {
return this.urlRoot + '?name=' + this.id;
}
});
});
Backbone假设您在设计REST API时遵循了一些常见的REST实践。
例如,更新用户的API应该公开为:
PUT /users/:id
而不是
PUT /users?id=:id
当然,当您必须重写默认的URL函数时,也有一些边缘情况,但一般来说,保持原样意味着您在设计REST API时遵循了最佳实践。
当需要重写时,我能想到的一种情况是,子资源由多个ID标识:
PUT /apps/:appId/schedules/:scheduleId
则CCD_ 2函数将为:
url: function () {
return this.urlRoot + '/' + this.appId + '/schedules/' + this.id
}
应用REST时,id通常是集合所包含项目的唯一标识符(以复数表示)。url /greeting/id
对我来说似乎没有多大意义。
通过查询字符串(问号后面)发送的参数用作当前查询的集合的filters
。
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- Amazon S3 REST API大小不正确
- 客户端服务器REST API captcha实现
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 删除CKEditor工具栏按钮,但不删除功能
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- Rest.next()?我的点击功能添加'.活动'两次
- 如何使用php身份验证脚本作为CouchDB的代理,同时仍然保持完整的REST API功能?
- django rest框架API编辑功能
- 主干网-内置REST功能
- Node JS路由功能与调用rest