emberjs - RESTful资源处理

时间:2014-02-17 14:06:59

标签: ajax rest ember.js ember-data

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

  1. 模型名称始终为复数,因此代替/ sqlrest / CUSTOMER / 3 /代码始终生成/ sqlrest / CUSTOMERS / 3 /

  2. 我知道DS.RESTAdaptor默认使用JSON格式,所以我想知道有什么方法可以让我获得XML格式并且可以转换为JSON吗?

  3. 由于

    我正在使用的代码如下(这个代码我在其中一个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);
      }
    });
    

1 个答案:

答案 0 :(得分:0)

也许你可以看看允许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,你需要在那里找到你需要以类似方式覆盖的相对点(如果可以自定义端点)。 / p>