为了账号安全,请及时绑定邮箱和手机立即绑定

AngularJS $ resource RESTful示例

AngularJS $ resource RESTful示例

慕村225694 2020-02-04 14:15:14
我想使用$ resource调用我的RESTful Web服务(我仍在使用它),但是我想知道我是否首先正确地使用了AngularJS脚本。待办事项DTO具有: {id, order, content, done}:cmd因此,我可以调用api/1/todo/reset以清除数据库中的todo表。这是带有我的理解注释的代码:function TodoService($resource) {    var src = $resource('api/1/todo/:id:cmd',              {id: "@id", cmd: "@cmd"}, //parameters default              {                ListTodos: { method: "GET", params: {} },                GetTodo: { method: "GET", params: { id: 0 } },                                            CreateTodo: { method: "POST", params: { content: "", order: 0, done: false } },                UpdateTodo: { method: "PATCH", params: { /*...*/ } },                DeleteTodo: { method: "DELETE", params: { id: 0 } },                ResetTodos: { method: "GET", params: { cmd: "reset" } },              });    //Usage:    //GET without ID    //it calls -> api/1/todo    src.ListTodos();    //GET with ID    //it calls -> api/1/todo/4    src.GetTodo({ id: 4 });    //POST with content, order, done    //it calls -> api/1/todo    src.CreateTodo({ content: "learn Javascript", order: 1, done: false });    //UPDATE content only    //it calls -> api/1/todo/5    src.UpdateTodo({ id: 5, content: "learn AngularJS" });     //UPDATE done only    //it calls -> api/1/todo/5    src.UpdateTodo({ id: 5, done: true });    //RESET with cmd    //it calls -> api/1/todo/reset    src.ResetTodos();}我不确定的一件事是PATCH方法,我不想更新所有内容,可以仅更新一个字段吗?我是否正确构建了这段代码?
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

你可以做$scope.todo = Todo.get({ id: 123 })。 .get()然后.query()在Resource上立即返回一个对象,并在以后用promise的结果填充它(以更新模板)。这不是一个典型的承诺,这就是为什么如果您要在调用后执行一些特殊代码,则需要使用回调或$ promise属性。但是,如果仅在模板中使用它,则无需在回调中将其分配给您的作用域。


查看完整回答
反对 回复 2020-02-04
  • 2 回答
  • 0 关注
  • 960 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信