EmberJS: personalización de adaptadores
El adaptador Ember.js especifica cómo se guardan los datos en el almacén de datos de backend, como el formato de URL y los encabezados de la API REST. El Adaptador predeterminado de Ember incluye algunas suposiciones integradas para la API REST. Estas suposiciones ayudan a construir una aplicación web mucho más fácil y mejor.
El Adaptador se puede crear usando el siguiente comando:
ember generate adapter adapter-name
Cuando ejecute el comando anterior, mostrará las siguientes líneas:
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
// code goes here
});
Ember data tiene los siguientes adaptadores integrados:
DS.Adapter - Es un adaptador básico sin funcionalidad en Ember.js.
DS.JSONAPIAdapter - Es un adaptador predeterminado que interactúa con el servidor HTTP y sigue las convenciones de la API JSON mediante la transferencia de JSON a través de XHR.
DS.RESTAdapter - Se utiliza para comunicarse con el servidor HTTP utilizando su tienda que transfiere el JSON a través de XHR.
Convenciones de URL de JSONAPIAdapter
JSONAPIAdapter especifica las URL basadas en el nombre del modelo.
Por ejemplo
store.findRecord('mypost', 1).then(function(myfunc) {
});
El JSONAPIAdapter enviará la solicitud GET a / myposts / 1, si solicita MyPost por ID. Las siguientes acciones se pueden usar en registros en JSONAPIAdapter:
S.No. | Acción | Verbo HTTP | URL |
---|---|---|---|
1 | Encontrar | OBTENER | / myposts / 123 |
2 | Encuentra todos | OBTENER | /mis publicaciones |
3 | Actualizar | PARCHE | / myposts / 123 |
4 | Crear | ENVIAR | /mis publicaciones |
5 | Eliminar | ELIMINAR | / myposts / 123 |
Personalización de la ruta del punto final
La ruta del punto final se puede personalizar utilizando la propiedad del espacio de nombres con un espacio de nombres de URL específico.
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
namespace: 'api/1'
});
Si solicita el modelo myval , se mostrará la URL comohttp://emberjs.com/api/1/myval/1.
Personalización del host
Puede especificar el nuevo dominio utilizando la propiedad de host en el adaptador:
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
host: 'https://api.mysite.com'
});
Si solicita el modelo myval , se mostrará la URL comohttp://api.mysite.com/myval/1.
Personalización de ruta
El JSONAPIAdapter genera el nombre de la ruta al pluralizar y dividir el nombre del modelo. Puede anular el método pathForType , si este comportamiento no confirma el backend.
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
pathForType: function(type) {
return Ember.String.underscore(type);
}
});
Personalización de encabezados
Los encabezados se pueden personalizar proporcionando los pares clave / valor en el objeto de encabezados de JSONAPIAdapter y los datos de Ember enviarán el par clave / valor junto con cada solicitud ajax.
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
headers: {
'API_KEY': 'secret key',
'ANOTHER_HEADER': 'header value'
}
});
Adaptadores de autoría
El serializador se puede especificar usando el adaptador defaultSerializer que se usa solo cuando no se define un serializador o serializador específico : aplicación . Puede escribirse como:
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend ({
defaultSerializer: '-default
});