2013-08-12 4 views
0

이것은 백본이 REST API 소스에서 형식을 지정하는 방식을 직접적으로 처리하는 방법을 직접 설명하는 설명서는 볼 수 없지만 분명한 질문 일 수 있습니다.Backbone.js 및 REST API JSON 형식 구조

게시물 내부에 가장 최근 코멘트를 포함시켜 API 호출 수를 줄이고 싶습니다.

예를 들어

내가 중첩 된 JSON이 깨끗/편리 할 것이라고 생각 .get(404)

를 사용 http://api.example.com/v1/posts/404.json에 GET을 사용 후 번호 (404)를 검색 한 말 :

{ 
    "id": 404, 
    "title": "Hans shot first.", 
    "comments": [ 
     { 
     "id": 4041, 
     "body": "But not anymore!" 
     }, 
     { 
     "id": 4042, 
     "body": "Indeed he did." 
     } 
    ] 
} 

Ember.js는 관계형 ID를 사용하는 것을 선호합니다. source Backbone.js도 비슷한가요?

{ 
    "post": { 
    "id": 404, 
    "title": "Hans shot first.", 
    "comment_ids": [4041, 4042] 
    }, 

    "comments": [{ 
    "id": 4041, 
    "body": "But not anymore!" 
    }, 
    { 
    "id": 4042, 
    "body": "Indeed he did." 
    }] 
} 

나는 다른 사람의 사이에서, Backbone.js restful json API design에서 관련 게시물을 발견하고, Backbone.js & REST API resources relationship & interraction. 그러나 실제 내부 JSON 구조 권장 사항의 예는 부족합니다. Backbone Fundamentals

답변

1

나는 Backbone.js가 어떤 선호도를 가지고 있다고 생각하지 않습니다. JSON의 구조는 전적으로 사용자에게 달려 있습니다. 첫 번째 예제는 댓글 데이터가 나머지 소식의 데이터보다 중요하지 않다고 생각하면 잘 작동합니다. 그러나 주석의 수가 전체 게시물 본문의 문자 수보다 많은 Reddit과 같은 것을 만들면 관계형 구조가 작업하기에 훨씬 친숙합니다.

Backbone.js는 데이터를 완전히 파싱하고 렌더링하기 때문에 데이터 구조를 신경 쓰지 않습니다. 따라서 당면한 과제에 대한 필요에 맞는 구조를 선택하십시오. 내가 첫 번째 예에서 바꿀 것

한 것은 무의미 "포스트"개체 래퍼를 제거하고 : 백본에서

{ 
    "id": 404, 
    "title": "Hans shot first.", 
    "comments": [ 
     { 
     "id": 4041, 
     "body": "But not anymore!" 
     }, 
     { 
     "id": 4042, 
     "body": "Indeed he did." 
     } 
    ] 
} 
0

, 현재 내가 하나의 개체 또는 개체의 컬렉션을 사용하는 것이 좋습니다 것입니다. 위의 예에서는 게시물 및 의견 모음을 별도로 가져 오는 것이 좋습니다. 위에서 언급 한 JSON을 사용하려는 경우 정확하게 동일한 문제를 해결하는 백본 관계형 (http://backbonerelational.org/)을 사용해야한다고 생각합니다.