Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
RESTWS exposes Drupal resources (e.g. entities) as RESTful web services. The module makes use of the Entity API and the information about entity properties (provided via hook_entity_property_info()) to provide resource representations.
Copy the whole restws directory to your modules directory (e.g. DRUPAL_ROOT/sites/all/modules) and activate the RESTful Web Services module.
Use Drush commands: drush dl restws & drush en restws
There is no user interface to configure.
Usage / Testing
To obtain the JSON representation of an entity use your browser to visit: http://example.com/<entity type name>/<entity id>.json
For example: http://example.com/node/1.json or http://example.com/user/1.json would resolve as a JSON dump to client. There are no "service endpoints" to configure as resources are just available at uniform paths like "node/1", "user/1". One can use a client in the form of a browser plugin to test out the different CRUD functions.
In this example use case, Druplicon the blogger travels around the world and blogs about the awesome stuff he encounters on his travels.
What's Views GeoJSON for?
Druplicon's blog-site will collect location information for each post. Views GeoJSON allows using Views to provide a GeoJSON feed of this locative data that can be added to a map, or that another site can collect (maybe with the Feeds module) and utilize.
In this example we'll use Geofield to store geospatial data. We could do so as well with the Location module, or via any content type that maintains latitude & longitude or WKT data.
Add a geofield to a content type, in this example basic page
The REST API provided by Services is hard to understand if you've never used Services before and don't understand what are the right URLs to call, what parameters to pass or how to pass them.
There's an effort to document the Services REST API just like you'd expect it documented in any big site, like Twitter or Facebook, it includes the right URL, parameters, how a response would look and more.