¿Qué son los servicios web de descanso? ¿Por qué lo necesitamos? ¿Cómo funciona? Realmente no quiero definiciones, me gusta saber sobre su uso. Dónde y por qué. Caso de uso?

Aunque haya especificado que no desea definiciones, me gustaría comenzar con un poco de introducción.
Los servicios web RESTful, como su nombre lo indica, son recursos en la web que se pueden utilizar para obtener información específica. Estos servicios básicamente retratan el funcionamiento de la API REST.
Solo para dejarlo un poco claro, REST o RE presentational T tansfernstransfer es un estilo arquitectónico, es decir, un conjunto de pautas para construir un servicio web. REST se puede utilizar para modificar o ver recursos en el servidor sin realizar ninguna operación del lado del servidor.
Dicho servicio web consta de dos entidades principales:

  • cliente
  • servidor

El cliente solicita un recurso del servidor y el servidor devuelve la respuesta (si no hay errores).
La respuesta es en sí misma una representación del recurso presente en el servidor. Por ejemplo, podría ser un JSON, XML, PDF, DOC, etc. Esto aclara por qué el servicio es representativo.
Luego viene el punto de estado. REST no tiene estado. Simplemente significa que toda la información que el servidor necesita para dar la respuesta se suministra con la solicitud en sí.
Las solicitudes generalmente se realizan mediante una conexión HTTP . Sin embargo, tenga en cuenta que el uso de HTTP no es una restricción. Las solicitudes son generalmente en forma de URI (Identificador Uniforme de Recursos). Los URI se utilizan para ubicar la ruta a un recurso en el servidor web. Por ejemplo: http://helloworld.com/api/rest/r…
REST define algunos ‘verbos’ para interactuar con los recursos. Algunos de estos son:

  • OBTENER: para recibir la representación del recurso
  • POST: para agregar información al recurso
  • PUT: modificar los recursos
  • BORRAR: eliminar los recursos

Como medida de seguridad, POST, PUT y DELETE requerirían algún tipo de autenticación. Esto generalmente tiene la forma de una clave API. Puede leer más sobre las medidas de seguridad REST aquí: https://www.owasp.org/index.php/…

Un muy buen ejemplo del servicio web REST es la API de Google Places.
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=10.50,67.01&radius=50000&types=food&name=&key=

El anfitrión del servicio anterior es maps.googleapis.com. La ubicación del recurso se indica mediante / api / place / nearbysearch, que contendría el método para procesar la solicitud. JSON es el tipo de respuesta solicitada seguido de parámetros. Devolvería una lista de lugares con sus detalles del tipo ‘comida’ alrededor de las coordenadas 10.50, 67.01 dentro de un radio de 50000 metros. La clave debe ser la clave de API de Google Places.

Más ejemplos son la API de Twitter y la API de gráficos de Facebook.
Estas API REST se utilizan para simplificar la conexión entre el cliente y los recursos ubicados en el servidor.

Puede encontrar una lista de API populares aquí:
http://www.programmableweb.com/a…

Para más información puede visitar este enlace:
http://stackoverflow.com/questio…

Como no quieres su definición, trataría de explicarte con el escenario del mundo real.

Piensa que tiene un sitio web de comercio electrónico. Dado que es un sitio web, necesita un servidor web que alojará su sitio. Donde reside toda su lógica de negocio y base de datos. Este es su servidor donde tiene sus servicios web REST ejecutándose.

Ahora clientes, todos los que acceden a su sitio a través del navegador web son clientes. Dado que es un sitio web de comercio electrónico, el usuario desea ver la lista de artículos que puede comprar (por lo que Javascript llamará a su servidor web para OBTENER la lista de artículos). El usuario seleccionará 2 artículos para comprar y dirá agregarlo al carrito (Javascript hará una POST / PUT al servidor, para agregar los artículos al carrito). Ahora, en la página del carrito, los usuarios desean comprar solo un artículo, por lo que hace clic en el botón Eliminar (Javascript hará una llamada ELIMINAR al servidor). Por último, el usuario está listo para comprar, hará clic en comprar (Javascript hará PUT / POST para comprar el artículo).

Básicamente, estos son los escenarios en los que el servicio web entrará en escena. Este caso explica si está ejecutando un sitio web.

Si solo está ejecutando el servidor web, como Twitter, las API de Facebook, entonces los clientes (desarrolladores) pueden hacer la llamada para que estas API hagan las cosas necesarias como (iniciar sesión, recuperar la lista de amigos, publicar un mensaje, etc.).

Los servicios web RESTful están diseñados para funcionar mejor en la Web. La transferencia de estado representacional (REST) ​​es un estilo arquitectónico que especifica restricciones, como la interfaz uniforme, que si se aplica a un servicio web induce propiedades deseables, como el rendimiento, la escalabilidad y la modificabilidad, que permiten que los servicios funcionen mejor en la Web. En el estilo arquitectónico REST, los datos y la funcionalidad se consideran recursos y se accede a ellos mediante identificadores uniformes de recursos (URI) , generalmente enlaces en la Web. Se actúa sobre los recursos mediante el uso de un conjunto de operaciones simples y bien definidas. El estilo arquitectónico REST restringe una arquitectura a una arquitectura cliente / servidor y está diseñado para usar un protocolo de comunicación sin estado, típicamente HTTP. En el estilo de arquitectura REST, los clientes y servidores intercambian representaciones de recursos mediante el uso de una interfaz y protocolo estandarizados.

Para saber más con videos gratis: servicio http

Lo uso para crear aplicaciones de base de datos que se pueden usar con cualquier cliente, como una aplicación móvil o una aplicación web basada en Angularjs / javascript. La aplicación web / móvil es el cliente que realiza llamadas a la API RESTFUl y OBTIENE o PUBLICA los datos. Esta es una manera conveniente de intercambiar datos entre varias aplicaciones cliente y le da al desarrollador la posibilidad de crear aplicaciones sin tener que depender del tipo de cliente. A continuación se muestra una de las aplicaciones que he creado que le permite crear prototipos de aplicaciones web simplemente enviando los campos de su base de datos. Clónelo y pruébelo para comprender mejor los servicios web relajantes.

https://github.com/Leo-G/Flask-S

Hay propósitos principales de cuando RESTful
Los servicios web se utilizan en combinación con los tipos de solicitud HTTP.

OBTENER: su propósito es solo recuperar
datos del servidor

POST: se usa comúnmente durante la finalización
envío de formulario web o durante el tiempo de carga de un archivo. Los datos se envían a
El servidor de una nueva entidad.

PUT: aunque es similar a POST,
su objetivo principal es lidiar con el reemplazo de una entidad existente.

PATCH – Ciertos campos específicos se actualizan
dentro de una entidad existente que usa PATCH y es similar a PUT.

ELIMINAR: como su nombre indica, esto
La funcionalidad elimina los datos del servidor.

TRACE – Se utiliza para probar cómo un
la máquina a lo largo de una ruta de red responde cada vez que se realiza una solicitud.

OPCIONES: los métodos de solicitud compatibles
por un servicio sería utilizado como información solicitada por los clientes utilizando
OPCIONES

HEAD – HEAD es similar al método GET
para un recurso, sin embargo, solo se devuelven los encabezados de respuesta.

CONECTAR – Una conexión de red hacia un
El recurso se puede establecer principalmente mediante CONNECT.