2013-03-21 6 views
14

건물에있는 프로젝트에서 ember-data를 사용하고 싶지만, 내가 작업중인 API는 REST 규칙을 따르지 않습니다.비 RESTful 환경의 Ember-data

예를 들어, 모든 HTTP 요청은 POST이고 엔드 포인트의 이름 지정 규칙은 수행하는 조치에 고유합니다. 예 : /api/thing/retrieve을 사용하면 일부 매개 변수를 사용하여 JSON 객체를 게시해야하며 '물건'을 반환합니다.

휴식 어댑터를 사용하고 클래스를 다시 열고 다양한 찾기 기능을 다시 정의합니까?

또는

내가 새 어댑터을해야합니까?

또는

난 그냥 내 모델 (또는 어쩌면 컨트롤러)에 엠버 데이터 및 사용 아약스를 포기해야 하는가?

나는 이러한 옵션을 어떻게 처리 할 것인지 잘 모르겠습니다. 모든 지침을 부탁드립니다.

+0

비 RESTful 작업을 처리 할 방법을 찾고 있는데 – tigrish

+0

더 좋은 방법이 있습니까? – woohoou

답변

1

이 주제에서 내가 본 유일한 정보는 아래에 링크 된 Discourse 사람들의 기사입니다.

http://eviltrout.com/2013/03/23/ember-without-data.html

나는 개인적으로 문서의 reopenClass 방법으로 주위 놀다 있고, 내가 정기적으로 호출 된 일치하지만 비 REST API가 있다면 아마도 그 효과에 믹스 인 또는 무언가에 놓을 것 .

+0

그래서 제대로 이해한다면 "고객 어댑터를 만들지 말라"고 말하면서 자신의 아약스 메소드를 모델에 추가하십시오. – tigrish

+0

위의 대답의 방법은 분명히 훨씬 강력하고 뭔가 복잡한 실험을하고 싶습니다. 그러나 나는 ember-data/adapter 문서를 전혀 파고 들지 않아서 커스텀 어댑터를 작성하는데 어떤 일이 일어나는지 보지 못했다. 몇 가지 모델의 경우, 나는 여전히 아약스 호출을 넣을 것입니다. 그것보다 더 복잡하고 연구와 글쓰기는 시간 비용의 가치가 있습니다. – nrion

0

귀하의 API가 일관성이 있다면 (신뢰할 수있는) 귀하의 사양에 맞게 DS.Adapter (DS.RESTAdapter가 아님)를 작성/연장해야합니다.

모든 후크가 있으며, 모든 모델에서 사용할 수있는 한 번 정의하면됩니다.

기본 어댑터 코드 - (https://github.com/emberjs/data/blob/master/packages/ember-data/lib/adapters/basic_adapter.js)를 통해 읽으면 DS.Adapter가 도움이 될 수 있습니다.

API가 신뢰할 수 없다면 필요에 따라 $ .ajax() 호출을 사용하는 것이 더 나을 것입니다. 그러나, 제 의견으로는, 그것은 잘 확장되지 않습니다.

링크 가치가 기본 어댑터를 볼 때 읽기 : 사용하게, ORM 또는 더 간단 심지어 뭔가 다음 ORM이 간단한 작업은 그 날을 위해,없는 건물 http://emberjs.com/blog/2013/03/22/stabilizing-ember-data.html

마지막 주 엠버을 데이터 가치있는 노력, 그리고 때로는 고통.

+0

사용자 지정 어댑터 (모델 인스턴스에서 호출되는 것이 좋음)에서 REST가 아닌 동작의 예가 있습니까? 기본 어댑터를 읽는 것은 기본적으로 기존 REST 작업에 대한 구현을 보여줍니다. – tigrish

+0

@tigrish 내가 가지고있는 유일한 것은 http://emberjs.com/blog/2013/03/22/stabilizing-ember-data.html이며 기본 어댑터에 대해 이야기하고 구현 예를 보여줍니다. – mspisars

관련 문제