$ resource를 사용하여 RESTful 웹 서비스 (아직 작업 중임)를 호출하고 싶지만 AngularJS 스크립트가 먼저 올바른지 확인하고 싶습니다.
할 일 DTO는 다음을 가지고 있습니다 : {id, order, content, done}
:cmd
api/1/todo/reset
데이터베이스에서 할 일 테이블을 지우려면 호출 할 수 있습니다 .
내 이해에 대한 주석이 달린 코드는 다음과 같습니다.
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 방법입니다. 모든 것을 업데이트하고 싶지 않습니다. 하나의 필드 만 업데이트 할 수 있습니까? 이 코드를 올바르게 구성하고 있습니까?
obj.save()
. 기본 $ http 구현으로 수행하려는 작업을 수행 할 수 있습니다.