EmberJS - Personalização de adaptadores
O adaptador Ember.js especifica como os dados são mantidos no armazenamento de dados de backend, como o formato da URL e os cabeçalhos da API REST. O adaptador padrão do Ember inclui algumas suposições integradas para a API REST. Essas suposições ajudam a construir um aplicativo da web muito mais fácil e melhor.
O adaptador pode ser criado usando o seguinte comando -
ember generate adapter adapter-name
Quando você executa o comando acima, ele exibe as seguintes linhas -
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
// code goes here
});
Os dados do Ember têm os seguintes adaptadores integrados -
DS.Adapter - É um adaptador básico sem funcionalidade em Ember.js.
DS.JSONAPIAdapter - É um adaptador padrão que faz interface com o servidor HTTP e segue as convenções da API JSON transferindo JSON via XHR.
DS.RESTAdapter - É usado para se comunicar com o servidor HTTP usando sua loja que transfere o JSON via XHR.
Convenções de URL JSONAPIAdapter
O JSONAPIAdapter especifica URLs com base no nome do modelo.
Por exemplo -
store.findRecord('mypost', 1).then(function(myfunc) {
});
O JSONAPIAdapter enviará a solicitação GET para / myposts / 1, se você solicitar MyPost por ID. As seguintes ações podem ser usadas em registros no JSONAPIAdapter -
S.No. | Açao | Verbo HTTP | URL |
---|---|---|---|
1 | Encontrar | PEGUE | / myposts / 123 |
2 | Encontrar tudo | PEGUE | /minhas postagens |
3 | Atualizar | FRAGMENTO | / myposts / 123 |
4 | Crio | POSTAR | /minhas postagens |
5 | Excluir | EXCLUIR | / myposts / 123 |
Personalização do caminho do terminal
O caminho do terminal pode ser personalizado usando a propriedade do namespace com o namespace de url específico.
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
namespace: 'api/1'
});
Se você solicitar o modelo myval , ele exibirá o url comohttp://emberjs.com/api/1/myval/1.
Personalização de Host
Você pode especificar o novo domínio usando a propriedade do host no adaptador -
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
host: 'https://api.mysite.com'
});
Se você solicitar o modelo myval , ele exibirá o url comohttp://api.mysite.com/myval/1.
Personalização de caminho
O JSONAPIAdapter gera o nome do caminho pluralizando e dasherizing o nome do modelo. Você pode substituir o método pathForType , se esse comportamento não for confirmado para o backend.
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
pathForType: function(type) {
return Ember.String.underscore(type);
}
});
Personalização de cabeçalhos
Os cabeçalhos podem ser personalizados fornecendo os pares de chave / valor no objeto de cabeçalhos JSONAPIAdapter e os dados do Ember enviarão o par de chave / valor junto com cada solicitação ajax.
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
headers: {
'API_KEY': 'secret key',
'ANOTHER_HEADER': 'header value'
}
});
Adaptadores de autoria
O serializador pode ser especificado usando o adaptador defaultSerializer que é usado somente quando o serializador ou serializador específico : o aplicativo não está definido. Pode ser escrito como -
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
defaultSerializer: '-default
});