Restful Objects es un estándar que cubre las interfaces RESTful para los modelos de objetos de dominio . La especificación se publica bajo una licencia Creative Commons .
El estándar define un pequeño conjunto de representaciones JSON que cubren las construcciones genéricas en un modelo de objetos de dominio, incluidos los siguientes:
Restful Objects también define un conjunto estándar de recursos para acceder o manipular estas representaciones. La especificación define qué métodos HTTP se pueden utilizar con cada recurso y su significado. La siguiente tabla muestra un resumen parcial:
En conjunto, los recursos y las representaciones permiten acceder a la funcionalidad completa de un modelo de objetos de dominio a través de HTTP . El siguiente diagrama, tomado de la especificación, ilustra la relación entre los recursos y las representaciones más utilizados:
La versión 1.0.0 de la especificación Restful Objects se publicó en junio de 2012.
Hay tres implementaciones conocidas de la especificación Restful Objects, todas de código abierto:
La especificación Restful Objects establece que opera en un nivel de abstracción más alto que otros estándares Restful, como las especificaciones JAX-RS para la plataforma Java o la especificación WCF en .NET. Existen algunas similitudes conceptuales con Odata , aunque Restful Objects pone mucho más énfasis en exponer el comportamiento de los objetos de dominio, no solo sus datos.
Existe una superposición con el patrón de objetos desnudos , en el sentido de que ambos se ocupan de crear interfaces genéricas para los modelos de objetos de dominio. Pero mientras que el último crea algún tipo de interfaz de usuario , Restful Objects crea una API , específicamente una API Restful. Los dos primeros marcos que implementaron el estándar Restful Objects se crearon sobre marcos existentes que implementan el patrón Naked Objects.