R epresentational State T ransfer ( REST) es un estilo arquitectónico que define un conjunto de restricciones que se utilizarán para crear servicios web. REST API es una forma de acceder a los servicios web de una manera simple y flexible sin tener ningún procesamiento.
Por lo general, se prefiere la tecnología REST a la tecnología SOAP (Protocolo simple de acceso a objetos) más robusta porque REST usa menos ancho de banda, es simple y flexible, lo que lo hace más adecuado para el uso de Internet. Se utiliza para obtener o proporcionar información de un servicio web. Toda la comunicación realizada a través de la API REST utiliza solo una solicitud HTTP.
Trabajo: una solicitud se envía del cliente al servidor en forma de una URL web como solicitud HTTP GET o POST o PUT o DELETE. Después de eso, una respuesta regresa del servidor en forma de un recurso que puede ser cualquier cosa como HTML, XML, Imagen o JSON. Pero ahora JSON es el formato más popular que se usa en los servicios web.
En HTTP hay cinco métodos que se usan comúnmente en una arquitectura basada en REST, es decir, POST, GET, PUT, PATCH y DELETE. Estos corresponden a operaciones de creación, lectura, actualización y eliminación (o CRUD) respectivamente. Hay otros métodos que se usan con menos frecuencia como OPTIONS y HEAD.
- GET: el método HTTP GET se utiliza para leer (o recuperar) una representación de un recurso. En la ruta segura, GET devuelve una representación en XML o JSON y un código de respuesta HTTP de 200 (OK). En caso de error, la mayoría de las veces devuelve un 404 (NO ENCONTRADO) o 400 (SOLICITUD INCORRECTA).
- POST: el verbo POST se utiliza con mayor frecuencia para crear nuevos recursos. En particular, se utiliza para crear recursos subordinados. Es decir, subordinado a algún otro recurso (por ejemplo, principal). En una creación exitosa, devuelva el estado HTTP 201, devolviendo un encabezado de ubicación con un enlace al recurso recién creado con el estado HTTP 201.
NOTA: POST no es seguro ni idempotente.
- PUT: Se utiliza para actualizar las capacidades. Sin embargo, PUT también se puede usar para crear un recurso en el caso de que el cliente elija la ID del recurso en lugar del servidor. En otras palabras, si PUT es para un URI que contiene el valor de un ID de recurso inexistente. En una actualización exitosa, devuelva 200 (o 204 si no devuelve ningún contenido en el cuerpo) de un PUT. Si usa PUT para crear, devuelva el estado HTTP 201 en la creación exitosa. PUT no es una operación segura pero es idempotente.
- PATCH: Se utiliza para modificar capacidades. La solicitud PATCH solo debe contener los cambios en el recurso, no el recurso completo. Esto se parece a PUT, pero el cuerpo contiene un conjunto de instrucciones que describen cómo se debe modificar un recurso que reside actualmente en el servidor para producir una nueva versión. Esto significa que el cuerpo de PATCH no debe ser solo una parte modificada del recurso, sino algún tipo de lenguaje de parche como JSON Patch o XML Patch. PATCH no es ni seguro ni idempotente.
- DELETE: Se utiliza para eliminar un recurso identificado por una URI. En caso de eliminación exitosa, devuelva el estado HTTP 200 (OK) junto con un cuerpo de respuesta.
Idempotencia: un método HTTP idempotente es un método HTTP que se puede llamar muchas veces sin resultados diferentes. No importaría si el método se llama solo una vez o diez veces. El resultado debe ser el mismo. Nuevamente, esto solo se aplica al resultado, no al recurso en sí.
Ejemplo:
C
1. a = 4 // It is Idempotence, as final value(a = 4) // would not change after executing it multiple // times. 2. a++ // It is not Idempotence because the final value // will depend upon the number of times the // statement is executed.
Solicitud y Respuesta
Ahora veremos cómo funcionan la solicitud y la respuesta para diferentes métodos HTTP . Supongamos que tenemos una API ( https://www.geeksforgeeks.org/api/students ) para todos los datos de los estudiantes de gfg.
- GET: Solicitud para todos los Estudiantes.
Solicitud |
GET:/api/estudiantes |
- POST: solicitud de publicación/creación/inserción de datos
Solicitud |
POST:/api/estudiantes {“nombre”:”Raj”} |
- PUT o PATCH: Solicitud de actualización de datos en id=1
Solicitud |
PONER o PARCHE:/api/estudiantes/1 {“nombre”:”Raj”} |
- ELIMINAR: Solicitud de eliminación de datos de id = 1
Solicitud |
ELIMINAR:/api/estudiantes/1 |
Los servicios web RESTful son muy populares porque son livianos, altamente escalables y fáciles de mantener, y se usan con mucha frecuencia para crear API para aplicaciones basadas en la web.
Publicación traducida automáticamente
Artículo escrito por Shubham Bansal 13 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA