Restful Objects — стандарт, охватывающий интерфейсы RESTful для объектных моделей домена . Спецификация опубликована под лицензией Creative Commons .
Стандарт определяет небольшой набор представлений JSON , охватывающих общие конструкции в объектной модели домена, включая следующее:
Restful Objects также определяет стандартный набор ресурсов для доступа к этим представлениям или манипулирования ими. Спецификация определяет, какие методы HTTP могут использоваться с каждым ресурсом, и их значение. В таблице ниже показан частичный обзор:
Вместе взятые ресурсы и представления позволяют получить доступ ко всей функциональности объектной модели домена через HTTP . Следующая диаграмма, взятая из спецификации, иллюстрирует связь между наиболее часто используемыми ресурсами и представлениями:
Спецификация Restful Objects версии 1.0.0 была выпущена в июне 2012 года.
Известны три реализации спецификации Restful Objects, все с открытым исходным кодом:
Спецификация Restful Objects утверждает, что она работает на более высоком уровне абстракции, чем другие стандарты Restful, такие как спецификации JAX-RS для платформы Java или спецификация WCF для .NET. Есть некоторые концептуальные сходства с Odata , хотя Restful Objects уделяет гораздо больше внимания раскрытию поведения объектов домена, а не только их данных.
Существует пересечение с шаблоном обнаженных объектов , поскольку оба они связаны с созданием общих интерфейсов для моделей объектов домена. Но в то время как последний создает некий пользовательский интерфейс , Restful Objects создает API — в частности, Restful API. Первые два фреймворка для реализации стандарта Restful Objects были построены поверх существующих фреймворков, реализующих шаблон Naked Objects.