【问题标题】:emberjs - RESTful resource handlingemberjs - RESTful 资源处理
【发布时间】:2014-02-17 14:06:58
【问题描述】:

我正在尝试从 REST API source 加载示例数据,该 API 在我的 emberjs 应用程序中返回 XML,但我面临两个问题:

  1. 模型名称始终为复数形式,因此代码始终生成 /sqlrest/CUSTOMERS/3/ 而不是 /sqlrest/CUSTOMER/3/

  2. 我知道 DS.RESTAdaptor 在默认情况下需要 JSON 格式,所以我想知道有什么方法我仍然可以获得 XML 格式并可以转换为 JSON?

谢谢

我使用的代码如下(我在其中一个 SO 回复中找到并更改以匹配我尝试访问的 URL):

App.store = DS.Store.create({
    revision: 11,
    adapter: DS.RESTAdapter.create({
        namespace: "sqlrest",
        url: "http://www.thomas-bayer.com",
        plurals: {
            'customer': 'customer'
        },
        ajax: function (url, type, hash) {
            hash.url = url;
            hash.type = type;
            hash.dataType = 'jsonp';
            hash.contentType = 'application/json; charset=utf-8';
            hash.context = this;

            if (hash.data && type !== 'GET') {
                hash.data = JSON.stringify(hash.data);
            }

            jQuery.ajax(hash);
        },
    })
});

在路线中:

App.CustomersRoute = Ember.Route.extend({
  model: function() {
    //return App.Customer.find();
    //New
    return App.Customer.find(18);
  }
});

【问题讨论】:

    标签: ajax rest ember.js ember-data


    【解决方案1】:

    也许你可以看看允许 XML 消费的 ember-restless:

    https://github.com/endlessinc/ember-restless

    关于复数,请看这里:

    https://github.com/emberjs/data/blob/v1.0.0-beta.6/packages/ember-data/lib/adapters/rest_adapter.js#L476

    唯一的事情是,很明显,如果你要使用 ember-restless,你需要在其中找到需要以类似方式覆盖的相对点(如果可以自定义端点)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      相关资源
      最近更新 更多