ฉันต้องการใช้ทรัพยากร $ เพื่อเรียกใช้บริการทางเว็บ RESTful ของฉัน (ซึ่งฉันยังทำงานอยู่) แต่ฉันต้องการทราบว่าฉันได้แก้ไขสคริปต์ 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();
}
สิ่งหนึ่งที่ฉันไม่แน่ใจคือวิธีการแพทช์ฉันไม่ต้องการอัปเดตทุกสิ่งฉันสามารถอัปเดตเพียงฟิลด์เดียวได้หรือไม่ ฉันกำลังสร้างรหัสชิ้นนี้ถูกต้องหรือไม่
obj.save()
ทรัพยากรมากขึ้นสำหรับการรับวัตถุจากแหล่งข้อมูลสงบจัดการกับมันแล้วส่งกลับมาพร้อมกับ คุณสามารถทำสิ่งที่คุณพยายามทำกับการใช้ $ http พื้นฐาน