Es un modelo de arquitectura web basado en el protocolo HTTP para mejorar las comunicaciones cliente-servidor. Es una alternativa a SOAP , que disponen de una gran capacidad pero también mucha complejidad.
En un sistema REST, cada recurso es direccionable únicamente a través de su URI.
Las operaciones más importantes relacionadas con los datos en cualquier sistema REST y la especificación HTTP son cuatro:, a estos operaciones se les llama verbo y se coloca en el encabezado de la solicitud.
- POST (crear).
- GET (leer y consultar),
- PUT (editar).
- DELETE (eliminar).
Otra de las características es que es independiente del tipo de plataformas o lenguajes. Da igual qué lenguaje de programación estés utilizando o qué plataforma. Con una API REST podrás trabajar de cualquier manera. Lo único necesario es que el intercambio de información sea mediante XML o JSON.
Se utiliza en java la API JAX-RS para proprocionar soporte en la creación de servicios web de acuerdo con el estilo arquitectónico Rest. JAX-RS usa anotaciones. entre estas anotaciones se incluyen:
- @Path especifica la ruta de acceso relativa para una clase recurso o método.
- @GET, @PUT, @POST, @DELETE y @HEAD especifican el tipo de petición HTTP de un recurso.
- @Produces especifica los tipos de medios MIME de respuesta.
- @Consumes especifica los tipos de medios de petición aceptados.
RESTful se suele utilizar para referirse a los servicios web que ejecutan la arquitectura REST.