La Transferencia de Estado Representacional (REST) es un estilo de arquitectura creado por Roy Fielding en 2000 para diseñar aplicaciones acopladas a través de HTTP y se utiliza a menudo en el desarrollo de API. Para que un servicio se considere RESTful, no debe infringir estas restricciones.
Los desarrolladores prefieren utilizar REST como alternativa a SOAP porque no implica escribir mucho código para realizar tareas sencillas, a diferencia de SOAP, que requiere crear la estructura XML necesaria cada vez. Los servicios web RESTful utilizan un enfoque diferente. Tratan la información como un recurso representado por una URL única. Por lo tanto, si quieres solicitar un recurso determinado, tendrás que proporcionar su URL utilizando métodos HTTP como GET, POST, PUT, HEAD, DELETE, PATCH y OPTIONS. ¡Puedes encontrar más información sobre estos métodos aquí! A veces puede que necesites enviar datos adicionales junto con la URL para obtener lo que necesitas, como una clave de acceso.
A diferencia de SOAP, REST no se limita a utilizar XML para proporcionar la respuesta. Puedes obtener la información en diferentes formatos, como JSON, XML, CSV, texto sin formato y HTML, que se analizan más fácilmente en función del lenguaje que utilices para tu aplicación.
Aquí tienes una comparación entre JSON y XML:
A menudo oirás a los desarrolladores hablar de las funcionalidades de las diferentes API, pero hay otro aspecto importante del que se habla menos: la documentación. Sin los conocimientos que contiene, una API podría ser perfectamente un montón de jeroglíficos.