편안한 API를 구축 할 때 Ember의 RESTAdapter 규칙을 필자가 따라했습니다.관련 모델 데이터 가져 오기
모델이 post
이고 모델이 tags
, 다 대다 관계입니다. 이후 게시물에만 관련된 태그를 찾을 것이므로 역함수를 정의하지 않았습니다.
게시 모델 tags: hasMany('tag')
에서이 값을 얻었으며 편안한 API에서 tags: ["1", "2", "3"]
등을 반환하는 것처럼 가정합니다.
이제 posts/1
url에서 어떻게 이러한 태그를 얻을 수 있는지 궁금합니다. 상점을 볼 때 태그가 검색되지 않습니다. 태그 데이터 및 해당 속성에 액세스하려면 어떻게합니까?
App.Tag = DS.Model.extend({
name: attr()
});
App.Post = DS.Model.extend({
active: attr(),
name: attr(),
organization: attr(),
user_id: attr(),
submitted_ts: attr(),
status: attr(),
tags: hasMany('tag')
});
{
"post": {
"0": {
"id": "1",
"active": "A",
"name": "This is a test title",
"organization": "Stryker",
"user_id": "0",
"submitted_ts": "1402664380",
"status": "finalized"
},
"tags": [
"30",
"1",
"14"
]
},
"tags": [
{
"id": "30",
"type": "asdf",
"name": "KNEE",
"pivot": {
"case_id": "1",
"id": "30"
}
},
{
"id": "1",
"type": "therapy",
"name": "more things",
"pivot": {
"case_id": "1",
"id": "1"
}
},
{
"id": "14",
"type": "therapy",
"name": "asdfasdf",
"pivot": {
"case_id": "1",
"id": "14"
}
}
]
}
시리얼 라이저는이 같은 태그가있을 때, 당신은 태그 정보가 게시물의 요청에 내려오고있다 말하는이 호출
App.SpecialtySerializer = DS.JSONSerializer.extend({
primaryKey: 'specialty_id'
});
App.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: 'api/v1',
headers: function() {
return {
authToken: this.get('auth.authToken')
};
}.property("auth.authToken")
});
을 수행하여 전용 액세스 태그를 필요
tags: hasMany('tag')
비동기로 태그를 표시해야 시도하고있는 것, 태그를 비동기로 가져 오려고하는지 또는 소식과 동시에 태그를 올리려는 것입니까? – Kingpin2k
은 게시물과 동일한 유형으로 내려갑니다. 내 반환 된 json은 '{post : {...}} ..... tags : {...} '와 같은 서식이 끔찍합니다. 그러나 기본적으로 태그는 게시물의 json 요청에 있습니다. – user1952811
위의 게시물과 태그 모두에 대한 모델 정의를 표시하고 json의 예를 올리면 RESTAdapter를 사용하고 있다고 말할 수 있습니까? – Kingpin2k