4

Ember データ 1.0.0 Beta 1 (リリースされたばかり) で使用するプロジェクトを変換しています。特定のエンドポイントでリッスンする REST アダプターがあるため、エンドポイントをカスタマイズする必要があります。

Ember データ 0.13 での動作は次のとおりです。

App.Adapter = DS.RESTAdapter.extend({})

DS.RESTAdapter.reopen({
  url: 'https://api.example.com'
});

Ember データ 0.13 では、URL は次のようになりました。https://api.example.com/authors

Ember データ 1.0.0 では、URL は次のようになります。http://192.168.0.108:51939/authors

/192.168.0.108:51939 は、webapp が実行されている URL です。

したがって、RESTAdapter の .reopen の URL 設定が機能しなくなったように見えますか?

URLの他のカスタマイズ(名前空間など)にも同じ問題があります...

誰かが助けてくれることを願っています。

マルク

4

7 に答える 7

10

これは、@cyclomarc の回答の直後に更新されたようです (PR https://github.com/emberjs/data/pull/1145を確認してください)。ember データでは、「url」が「host」になりました。'namespace' は引き続き機能します。

DS.RESTAdapter.reopen({
  host: 'http://google.com',
  namespace: 'api'
});

にリクエストを送信しますhttp://google.com/api/*

エンバー v1.0.0-7

Ember Data v1.0.0-beta.1-17

編集: これは現在、TRANSITION.md に文書化されています: https://github.com/emberjs/data/blob/master/TRANSITION.md#host-and-namespace-configuration

于 2013-09-02T02:36:30.043 に答える
1

上記のリンクを参照してください。

現在の ember-data ベータ版では、カスタム アダプターを "App. ApplicationAdapter "と呼ぶ必要があることに注意してください。

「App.Adapter」を試してもうまくいきません。

それが役立つことを願っています!

于 2013-09-04T23:25:02.377 に答える
0

移行ガイドを調べてもurl、それについてはまだ言及されておらずnamespace、から削除されてRESTAdapterいます。ソースコードのインラインコメントをさらに読むと、質問に記載されているように使用できることがまだ参照されています。しかし、@cyclomarcが彼のコメントで述べたように(@ tchak13が今使用すべきだと言ったことを参照)、関数buildURLをオーバーライドしてそれを行う方法は次のとおりです。buildURL

App.Adapter = DS.RESTAdapter.extend({
  buildURL: function(type, id) {
    var url = "/" + Ember.String.pluralize(type.typeKey);
    if (id) { url += "/" + id; }

    return 'https://api.example.com' + url;
  }
});

それが役に立てば幸い。

于 2013-09-01T12:48:27.690 に答える