REST
REST establece reglas de arquitectura para interfaces distribuidas. Incluye recursos, solicitudes sin estado y enlaces.
Acceder a recursos mediante una interfaz uniforme
REST significa Representational State Transfer y designa un estilo de arquitectura. Las aplicaciones intercambian representaciones de recursos, como el estado actual de un proyecto. Sus restricciones incluyen separar cliente y servidor, solicitudes sin estado, indicar si las respuestas se pueden almacenar en caché y una interfaz uniforme. Los enlaces de las representaciones orientan los siguientes pasos posibles; una dirección HTTP que devuelve JSON no basta para cumplir estas reglas.
En un portal de proyectos ficticio, la aplicación pide la representación de un proyecto mediante GET /projects/P-42. Esta también contiene un enlace a /projects/P-42/tasks, previsto para acceder a las tareas asociadas. Ambas rutas son ejemplos de diseño propios. La solicitud debe aportar la información que el servidor necesita para entenderla; este no debería tener que reconstruir una conversación previa con ese cliente. Los datos del proyecto sí pueden almacenarse de forma persistente. Sin estado describe aquí la comunicación, no la ausencia de una base de datos.
El equipo de integración debe examinar cómo se regulan realmente los recursos, enlaces, permisos y la reutilización de respuestas. La etiqueta REST por sí sola no responde a esas preguntas.
Fuentes
Términos relacionados
- APIUna API define cómo un programa puede utilizar funciones o datos ofrecidos por otro programa.
- GraphQLGraphQL permite solicitar campos mediante un esquema de API tipado. El servidor sigue siendo responsable del acceso a datos y los permisos.
- OpenAPIOpenAPI describe interfaces HTTP en un formato legible por máquinas, con rutas, parámetros y respuestas. La descripción debe coincidir con el servicio.
- Server-Sent EventsServer-Sent Events transmite avisos de texto del servidor al cliente por HTTP, por ejemplo sobre el avance de un trabajo en segundo plano.
- ETagUn ETag identifica una versión concreta de la representación de un recurso HTTP y permite lecturas o cambios condicionales.
- Cross-Origin Resource SharingCORS controla el acceso del navegador a respuestas de otro origen. No sustituye el inicio de sesión ni la comprobación de permisos de la API.
Su proyecto con ASES
Descríbanos su proyecto. Le responderemos con una primera valoración.