2014-09-19 18 views
6

Ember ile konuşacak bir API için Loopback'i deniyorum.Geri Döngü Oluşturma API'si Ember.js uyumlu

Ember, JSON'un 'anahtarlar' içinde yer almasını gerektirir, örn. Bir hesap için:

{ account: 
    { domain: 'domain.com', 
    subdomain: 'test', 
    title: 'test.domain.com', 
    id: 1 
} } 

Ben Kor bunu alacak şekilde afterRemote kanca kullanarak, yanıtı değiştirebilir konusunda Google grubuna bazı tavsiyeler buldum.

E.g. Benim modelleri/account.js içinde:

module.exports = function(Account) { 

    Account.afterRemote('**', function (ctx, account, next) { 
     if(ctx.result) { 
     if(Array.isArray(ctx.result)) { 
      ctx.res.body = { 'accounts': account }; 
     } else { 
      ctx.res.body = { 'account': account }; 
     } 
     } 

     console.log(ctx.res.body); 

     next(); 
    }); 

}; 

Ben konsolda olması gerektiği gibi tepki olduğunu görüyoruz .. localhost de ancak JSON çıkışı: 3000/API/hesap değişmiş JSON nesnesi göstermez.

Loopback'deki JSON yanıtını/isteklerini değiştirmenin doğru yolu nedir?

Genel olarak ideal bir şekilde, tüm Modellere uygulanabilir.

+0

"kaşif" ne anlama geliyor? –

+0

@torazaburo tarafından güncellenen soru – Adamski

+0

Ember, JSON'nızın JSON'dan başka bir şey olmasını gerektirmez. Ember Data'nın varsayılan REST Adaptörüne başvurduğunuzu düşünüyorum. Ember.js, Ember Verilerini kullanmanızı gerektirmez. Ve yapsanız bile, gönderilen herhangi bir JSON'u işlemek için özel bir adaptör yazabilirsiniz. – Gaurav

cevap

1

Böyle DS.JSONSerializer ile DS.RESTAdapter kullanarak Strongloop en geri döngü API ile Kor-veri uyumlu yapabilirsiniz: Kor Verileri, bir arka uç veri deposu ile iletişim için mantıkta

http://emberjs.com/api/data/classes/DS.JSONSerializer.html

"

// app/adapters/application.js 

import DS from 'ember-data'; 

export default DS.RESTAdapter.extend({ 
    host: 'http://loopback-api-host', 
    namespace: 'api', 
    defaultSerializer: 'JSONSerializer' 
}); 
Bağdaştırıcıda yaşıyor Ember Data'nın Bağdaştırıcısı, bir REST API'sinin nasıl görünmesi gerektiğine dair bazı yerleşik varsayımlara sahiptir. Arka uç sözleşmeleriniz bu varsayımlardan farklıysa, Ember Data, varsayılan Bağdaştırıcıyı değiştirerek veya genişleterek işlevselliğini değiştirmeyi kolaylaştırır. "

http://guides.emberjs.com/v2.0.0/models/customizing-adapters/

Benzer soru: Strongloop with Emberjs