나는 백엔드로서 php를 사용하여 디자인 단계에서 새로운 것을 경험했지만, 나는 똑같은 문제가 있다고 생각하고 수정 된 모양을 찾았다. 당신은 잭슨을 어지럽히는 것이 어려운 접근법 일 것이라고 생각합니다. 그것은 엠버 측면에서 변화를 만드는 것이 훨씬 쉬운 것처럼 보입니다. 이 guide (http://lab.empirio.no/emberjs-say-hello-to-apigility.html)은 ember 데이터의 ActiveModelSerializer를 기반으로 js에 자체 serializer를 만든 다음 RestAdapter를 수정하는 방법에 대해 설명합니다. 이 예제에서는 이미 표준 ToDo 앱을 빌드하는 방법에 대해 논의하고 있습니다. 우리는 조작 "...
App.ApplicationSerializer = DS.ActiveModelSerializer.extend({
primaryKey: 'todos_id',
extract: function(store, type, payload, id, requestType) {
this.extractMeta(store, type, payload);
if(payload._embedded)
payload = payload._embedded;
if(requestType == 'updateRecord' || requestType == 'createRecord'){
var data = {};
data[type.typeKey] = payload;
payload = data;
}
var specificExtract = "extract" + requestType.charAt(0).toUpperCase() + requestType.substr(1);
return this[specificExtract](store, type, payload, id, requestType);
}
});
:
{"name":"Testing","is_completed":false}
가 타다가 사용하는 동안 : 여기
{"todo":{"name":"Testing","is_completed":false}}
몇 가지 동일한 코드의
문제는 백엔드는이 형식을 사용합니다 페이로드를 확장하여 (RESTAdapter에서 복사) createRecord-function이 이 같은 어댑터에 havior : "
createRecord: function(store, type, record) {
var data = {};
var serializer = store.serializerFor(type.typeKey);
serializer.serializeIntoHash(data, type, record, { includeId: true });
return this.ajax(this.buildURL(type.typeKey), "POST", { data: data[type.typeKey] });
},
나는 여기에 많이 실종 내가 아직 응용 프로그램을 구축하기 위해 시도하지 않은 때문에 아마 몇 가지 단계를 누락 확신하지만이 문제였다 I 나는 엠버에 전념하기 전에 내가 해결할 필요가 있음을 알고 있었고 이것이 실행 가능한 해결책처럼 보였다. 나는 어쨌든 당신을위한 옳은 방향으로 나아 가기를 바랍니다.
편집 : 표준을 고수하기 위해 형식을 변경하고 싶지는 않지만 실제로는 JSON API 및 콘텐츠 유형에 대한 표준이 아직 없습니다. 어쨌든 받아 들여지지는 않습니다. 이 가이드는 HAL + JSON을 사용하는데 jsonapi.org에서 본 것과 다르지 않습니다. 어쨌든 모든 사람들은 백엔드 언어 나 프레임 워크에 관계없이이 문제를 겪고있는 것으로 보입니다. 나는 엠버 팀이이를 인식하고 유연하게하려고 노력하고 있다고 생각합니다. 또한, ember-data는 여전히 베타 버전이기 때문에, 나는 변화하는 라이브러리를 지원하기 위해 자바 측을 작성하는 대신에 변경 작업을 수행하는 것이 더 쉽다. 누가 알아? 어쩌면 ember-data는 로드맵에서 아무런 언급도 듣지 못했지만 1.0 버전 이전에 다른 백엔드에 대한 더 나은 지원을 제공 할 것입니다.
: : 내 PersonController에 다음 requestmapping을 추가 http://springember.blogspot.de/2014/08/using-ember-data-restadapter-with.html –