Me gustaría usar $ resource para llamar a mi servicio web RESTful, (en el que todavía estoy trabajando), pero me gustaría saber si primero obtuve mi script AngularJS correcto.
El todo DTO tiene: {id, order, content, done}
:cmdes así que puedo llamar api/1/todo/resetpara borrar la tabla de tareas en la base de datos.
Aquí está el código con comentario de mi comprensión:
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();
}
Una cosa en particular que no estoy seguro es el método PATCH, no quiero actualizar todo, ¿puedo actualizar solo un campo? ¿Estoy construyendo este código correctamente?
obj.save(). Podrías hacer lo que estás intentando hacer con una implementación básica de $ http.