¿Cuál es la diferencia entre una API REST y una API normal (que imprime una respuesta JSON)?Diferencia entre una salida de una API normal y una API REST
Respuesta
No hay diferencia en absoluto. REST describe una forma de interactuar con un servidor HTTP, no lo que el servidor debería devolver en respuesta. La mayoría de las aplicaciones web interactúan con el lado del servidor mediante solicitudes POST o GET con cualquier información adicional necesaria para cumplir con la solicitud en un envío de formulario para POST o la cadena de consulta para GET. Por lo tanto, si desea eliminar algo del servidor, normalmente realizan un POST con un formulario que contiene datos que especifican un recurso junto con una instrucción para eliminarlo.
Sin embargo, HTTP implementa métodos (también conocidos como verbos) distintos de GET o POST. También implementa, entre otros, HEAD (devuelve los mismos encabezados que habrías hecho para un GET, pero sin cuerpo de respuesta), PUT (Toma el cuerpo de la solicitud y almacena su contenido en la URL en la que se haya realizado la solicitud PUT), y ELIMINAR (Elimine cualquier recurso que exista en la URL especificada). Una interfaz REST simplemente hace uso de estos verbos adicionales para convastar el significado de la solicitud al servidor.
Los navegadores generalmente solo son compatibles con GET y POST para solicitudes "normales" (no XHR), pero herramientas como Curl pueden emitir el conjunto completo de verbos HTTP. También puede usar verbos adicionales con técnicas basadas en XHR como AJAX.
Aún deberá proporcionar una API tradicional que no sea REST para que los navegadores la utilicen, a menos que haga que javascript y XHR sean un requisito para usar su aplicación.
REST principalmente se refiere a usar el protocolo HTTP de la manera en que fue diseñado. Use el método HTTP GET
en una URL para recuperar información, posiblemente en diferentes formatos basados en los encabezados HTTP Accept
. Use el método HTTP POST
para crear nuevos elementos en el servidor, PUT
para editar los elementos existentes, DELETE
para eliminarlos. Haga que la API sea idempotente, es decir, repetir la misma consulta con la misma información debería arrojar el mismo resultado. Estructure sus URL de forma jerárquica, etc.
REST solo es un principio rector de cómo usar las URL y el protocolo HTTP para estructurar una API. No dice nada sobre los formatos de retorno, que bien podría ser JSON.
Esto se opone, por ejemplo, a las API que envían mensajes binarios o XML a un puerto designado, sin utilizar diferencias en los métodos HTTP o URL en absoluto.
- 1. ¿Todavía hay una diferencia entre una biblioteca y una API?
- 2. ¿Cómo documenta una API REST?
- 3. ¿Cómo escribir una API REST?
- 4. Autenticación con una API REST
- 5. Ruby on Rails: diferencia entre el recurso plural y el singular en una API REST
- 6. Cómo implementar una API REST sin estado
- 7. diferencia entre API y marco
- 8. Streaming API vs Rest API?
- 9. Cómo proteger una API REST privada en una aplicación AJAX
- 10. ¿Meteor es una opción, si necesito una API REST adicional?
- 11. ¿Cómo crear una API REST para una aplicación Ruby?
- 12. Diferencia entre REST y WebServices
- 13. Cocoa API - ¿Contiene una api de diferencias?
- 14. Diferencia entre ASP.NET MVC 4 Web Api y REST classic services
- 15. Cómo heredar RequestMappings en una Spring 3 MVC REST API
- 16. Versioning API REST de una aplicación ASP.NET MVC
- 17. Plugin de Wordpress para conectarse a una API REST?
- 18. Creando una API de cliente REST usando Reactive Extensions (Rx)
- 19. MVC2 o WCF para una API REST XML/JSON?
- 20. API REST para rabbitmq
- 21. Pruebas unitarias API REST
- 22. API REST para Java?
- 23. C# REST API Client
- 24. ¿La mejor manera de probar una API REST?
- 25. API REST interna
- 26. API REST Autenticación MongoDB
- 27. Probar API REST
- 28. Ember.js & REST API
- 29. API REST de clasificación dilema
- 30. ¿Cómo asegurar una API REST para aplicaciones móviles?
Hola, quiero hacer una API que sea consumida por appas de móviles y sitios web. ¿Cuál sería la mejor manera de hacer la API (REST o Non REST)? – Shaolin