I have never had the time to develop this module as planned. I believe that other modules now available may do what it aimed to do. Please contact me if you can confirm this (or want to take this over).
RESTfulness lets you build and manage a REST API to a Drupal site via administrative pages on your Drupal site itself.
In the simplest use of RESTfulness, any functionality that is currently available via a menu hook can be exposed as a REST function. Using the full complement of the standard HTTP verbs (GET, POST, PUT and DELETE), you can provide, for example, a blog API that looks like this:
GET /blog/entry/add
(get "new blog entry" form)
POST /blog/entry/add
(post new blog entry)
PUT /blog/entry/[nid]
(edit blog entry)
DELETE /blog/entry/[nid]
(delete blog entry)
You use the Accept:
header of the HTTP request to specify what kind of content you want to get back. This content type is mapped to a theme. So you might specify text/html
or application/xhtml+xml
to request a response in (X)HTML. Or you might ask for text/xml
or application/xml
to get an XML version of the same content. The content type - to - theme mapping you specify determines which theme gets used.
All of this configuration happens via administrative pages, and the REST functions and content type mappings you define are stored as Drupal nodes. Hence, your API itself becomes content that you can manage using the full gamut of Drupal capabilities. You have the ability to insert code as "glue" to connect your REST API to Drupal core functionality and modules, but RESTfulness aims to provide as much GUI-based configurability, and management of the API using Drupal's own and other APIs (such as Views), as possible.