Estoy buscando la mejor-práctica de estilos para el envasado de una API REST en un peso ligero cliente de JavaScript.
En el pasado he visto las bibliotecas, las cuales son implementadas en un estilo como:
var request = new SearchRequest(apikey);
request.query = "search term";
request.send(function(results) {
console.log(results);
});
O que abrazar HTTP de forma más explícita como:
api.get("search", "search term", function(results) {
console.log(results);
});
api.post("comment", comment, function(results) {
console.log(results);
});
O que se envuelven en un nivel aún más alto:
api.search("search term", function(results) {
console.log(results);
});
api.createComment(comment, function(results) {
console.log(results);
});
Lo buenos ejemplos de JavaScript moderno bibliotecas de cliente de envolver las Api de REST has visto recientemente. No se preocupa de los detalles de implementación, sólo el diseño de la API.
Gracias!
- Personalmente soy un fan de su tercera (mayor nivel de abstracción) ejemplo. Se siente más como un SDK y menos como un peso ligero y una envoltura.
Vi un video muy bueno en el buen Diseño de la API. Definitivamente, vale la pena ver.
API RESTful de Diseño – Segunda Edición
También puede obtener un libro gratis Web de la API de Diseño – Elaboración de Interfaces que los Desarrolladores de Amor además el video de arriba va a http://bit.ly/M28lOu
Respecto de contenedores puede ser vale la pena pensar en lo siguiente:
La adopción de los estándares, convenciones de nomenclatura, etc, del lenguaje de programación o de la comunidad que están trabajando para hacer que el contenedor se sienten tan naturales como sea posible para aquellos que lo utilizan.
Por Envolver que imitan el RESTO métodos de la API y la estructura tanto como sea posible, sino simplemente hacer algunas de las cosas difíciles más fácil. Una de las mayores ventajas de este enfoque es que facilita la actualización cuando la meta de la API de REST de actualizaciones.
La abstracción de es útil cuando el objetivo de la API de REST es complejo o se comporta y se ve en formas no estándar. En este caso, el contenedor de los métodos y las llamadas pueden no parecerse a su destino de DESCANSO métodos de la API, pero en última instancia va a simplificar la vida ( esperemos ) de aquellos que utilizan su contenedor.
Comprobar estas:
Hay otras discusiones similares en StackOverflow, como JavaScript RESTO de la Biblioteca del cliente