2013-02-20 3 views
3

먼저 제목이 정확하게 무엇을하려하는지 제목이 확실하지 않으므로 사과드립니다. 나는 backbones REST API 구조를 사랑/싫어하지만 조금 더 추가하려고하고 모델 간의 관계 그래프를 지원합니다.REST API의 백본 및 복합 모델이 가능합니까?

/machines/:machine_id/projects 
:

/machines/:id 

또는

/projects 

하지만 내가 한 단계 더 걸릴 관계의 '그래프'를 보여주고 싶은 :

그래서 간단한 엔드 포인트는 뭔가처럼

또는

/machines/:machine_id/projects/:project_id 

저는이 분야에서 다른 사람들이 경험할 수있는 경험이 있다면 최선의 방법을 생각하려고합니다. 지금은 그대로, machinesprojects에 대한 모델을 정의했으며 비 관계형 끝점이 작동합니다. 내 다음 단계는 가상의 복합 모델 MachinesProjects을 만드는 것일 수 있습니다.하지만 모델의 URL 연결을 해킹하여 ID를 나타내는 여러 속성에 응답하는 방법을 알지 못합니다. 더 나아가, 나는 모델 타입들 사이의 그래프에서 모든 호에 대한 모델을 명시 적으로 정의하고 싶지 않기 때문에 더 나은 것이 있다고 기대한다.

답변

4

어때 다음과 같은 걸까요?

var Machine = Backbone.Model.extend({ 
    urlRoot:"/machines" 
}); 

var Project = Backbone.Model.extend({ 
    urlRoot:"/projects" 
}); 

var MachineProject = Project.extend({ 
    url: function() { 
    return this.machine.url() + Project.prototype.url.call(this); 
    }, 
    initialize: function(options) { 
    this.machine = options.machine; 
    } 
});