¿Hay una biblioteca JavaScript que me permiten realizar todas las operaciones REST como (GET
, POST
, PUT
y DELETE
sobre HTTP
o HTTPS
)?JavaScript RESTO Biblioteca cliente
Respuesta
Realmente no necesita un cliente específico, es bastante simple con la mayoría de las bibliotecas. Por ejemplo, en jQuery que sólo puede llamar a la función genérica $.ajax
con el tipo de solicitud que desea realizar:
$.ajax({
url: 'http://example.com/',
type: 'PUT',
data: 'ID=1&Name=John&Age=10', // or $('#myform').serializeArray()
success: function() { alert('PUT completed'); }
});
Puede reemplazar PUT
con GET
/POST
/DELETE
o lo que sea.
Dojo lo hace, p. a través de JsonRestStore, vea http://www.sitepen.com/blog/2008/06/13/restful-json-dojo-data/.
Si bien es posible que desee utilizar una biblioteca, como la excelente jQuery, no es necesario que: todos los navegadores modernos admiten HTTP muy bien en sus implementaciones de JavaScript a través del XMLHttpRequest API, que, a pesar de su nombre, no está limitado a representaciones XML.
He aquí un ejemplo de hacer una petición HTTP PUT sincrónica en JavaScript:
var url = "http://host/path/to/resource";
var representationOfDesiredState = "The cheese is old and moldy, where is the bathroom?";
var client = new XMLHttpRequest();
client.open("PUT", url, false);
client.setRequestHeader("Content-Type", "text/plain");
client.send(representationOfDesiredState);
if (client.status == 200)
alert("The request succeeded!\n\nThe response representation was:\n\n" + client.responseText)
else
alert("The request did not succeed!\n\nThe response status was: " + client.status + " " + client.statusText + ".");
Este ejemplo es sincrónico, porque eso hace que sea un poco más fácil, pero es muy fácil de hacer peticiones asíncronas utilizando esta API también.
Hay miles de páginas y artículos en la web sobre el aprendizaje de XmlHttpRequest; generalmente usan el término AJAX. Desafortunadamente no puedo recomendar uno específico. Sin embargo, puede encontrar this reference.
jQuery tiene JSON-REST complemento con el estilo REST de plantillas de parámetros URI. Según su descripción, el ejemplo de uso es el siguiente: $.Read("/{b}/{a}", { a:'foo', b:'bar', c:3 })
se convierte en un GET a "/ bar/foo? C = 3".
Como referencia quiero agregar sobre ExtJS, como se explica en el Manual: RESTful Web Services. En resumen, use el método para especificar GET, POST, PUT, DELETE. Ejemplo:
Ext.Ajax.request({
url: '/articles/restful-web-services',
method: 'PUT',
params: {
author: 'Patrick Donelan',
subject: 'RESTful Web Services are easy with Ext!'
}
});
Si el encabezado Accept es necesario, se puede configurar por defecto para todas las solicitudes:
Ext.Ajax.defaultHeaders = {
'Accept': 'application/json'
};
También se puede utilizar como marcos MVC Backbone.js que proporcionará un modelo Javascript de los datos. Los cambios en el modelo se traducirán en llamadas REST.
Puede utilizar este plugin de jQuery que acabo de hacer :) https://github.com/jpillora/jquery.rest/
soporta operaciones CRUD básicas, recursos anidados, autenticación básica
var client = new $.RestClient('/api/rest/');
client.add('foo');
client.foo.add('baz');
client.add('bar');
client.foo.create({a:21,b:42});
// POST /api/rest/foo/ (with data a=21 and b=42)
client.foo.read();
// GET /api/rest/foo/
client.foo.read("42");
// GET /api/rest/foo/42/
client.foo.update("42");
// PUT /api/rest/foo/42/
client.foo.delete("42");
// DELETE /api/rest/foo/42/
//RESULTS USE '$.Deferred'
client.foo.read().success(function(foos) {
alert('Hooray ! I have ' + foos.length + 'foos !');
});
Si encuentra errores o quiere nuevas características, publicarlos en página de los repositorios 'problemas' por favor
Me gusta lo simple que lo has hecho. Parece que admite opciones adicionales cuando las necesita, pero las mantiene fuera del camino. – Stradas
Usted puede utilizar http://adodson.com/hello.js/ que tiene
- soporte de la API Rest
- soporte incorporado para muchos sitios de Google, Facebook, Dropbox
- Es compatible con OAuth 1 y 2 de apoyo.
Esto es demasiado – pylover
Puede probar restful.js, un cliente RESTful marco independiente, utilizando una sintaxis similar al popular Restangular.
- 1. Buscando un RESTO con la biblioteca del cliente JSON
- 2. RESTO Ejemplo de cliente en Ruby
- 3. de carga de archivos desde un cliente resto a un servidor resto
- 4. ¿Cuál es la mejor biblioteca de cliente JavaScript XML-RPC?
- 5. Conseguir NullPointException con Jersey RESTO cliente en Android
- 6. Grails Plugin RESTO Cliente - Especificar Datos de cabecera
- 7. Mejor cliente XMPP PHP/Javascript
- 8. Biblioteca de cliente de EMail
- 9. Javascript Git cliente
- 10. Javascript: cliente DLNA
- 11. Java RTSP cliente/servidor de la biblioteca
- 12. ¿Qué biblioteca cliente PHP usar con Cassandra?
- 13. wget-like bittorrent cliente o biblioteca?
- 14. Biblioteca de cliente de Socket.IO en Python
- 15. Biblioteca de cliente Python para WebDAV
- 16. Biblioteca de cliente REST en C
- 17. Biblioteca cliente Python Jabber/XMPP para Twisted
- 18. La mejor biblioteca cliente XMPP para Node.js
- 19. mejor biblioteca de cliente de java jabber
- 20. ¿Hay alguna biblioteca de cliente php CalDav?
- 21. Javascript dividir solo una vez e ignorar el resto
- 22. ¿Puedo omitir el resto en una declaración javascript en línea?
- 23. Escribir una biblioteca Javascript
- 24. Javascript graficar biblioteca
- 25. Javascript IMAP y SMTP cliente?
- 26. ZeroMQ en el cliente javascript
- 27. ¿Cliente independiente de webGL/Javascript?
- 28. Pura HTML + JavaScript lado del cliente plantillas
- 29. Error de Javascript al usar la biblioteca del lado del cliente de Messenger Connect en ASP.NET
- 30. Socket.io como servidor, javascript 'estándar' como cliente?
jQuery también incluye algunos métodos útiles de acceso directo para usar GET y POST: http://api.jquery.com/category/ajax/shorthand-methods/ –
y para ampliar lo que dijo @Avi Flax, es muy simple de crear sus propios métodos 'PUT' y' DELETE' si quiere atajos. – zzzzBov
¿Cómo recuperas el cuerpo de la respuesta? los encabezados? –