RESTful Web Services module overview
The RESTful Web Services module is included in Drupal 8 core.
What is REST?
Web Services make it possible for other applications to read and update information on your site via the Web. REST is one of a number of different ways of making Web Services available on your site. In contrast to other techniques such as SOAP or XML-RPC, REST encourages developers to rely on HTTP methods (such as GET and POST) to operate on resources (data managed by Drupal).
If you are new to REST, you can find out more about HTTP methods, and other REST topics such as media types, and hypermedia, in the More info on REST section.
This module builds on top of Drupal 8's Serialization module to provide a customizable, extensible RESTful API of data managed by Drupal. Out of the box, it allows you to interact with any content entity (nodes, users, comments …) or since Drupal 8.2.0 config entity (vocabularies, user roles…) as well as watchdog database log entries.
- modules can expose additional resources
- supports GET/POST/PATCH/DELETE (PUT is not supported for good reasons)
- integrates with Drupal's role-based authentication system automatically: one permission per resource (and per verb)
- modules can add authentication mechanisms, these are then be applied to any of the resources
- modules can add more serialization formats — see the Serialization module
- Serialization module: (de)serializing data to/from JSON & more
- HAL module: serialization using the Hypertext Application Language
- Basic Auth module: HTTP Basic access authentication
- RESTful Web Services API
- Serialization API
- Article: An Introduction to RESTful Web Services in Drupal 8
- DrupalCon Prague 2013 session: REST and serialization in Drupal 8
- Related contributed module: API Rate Limiter
- Related contributed module: Rest UI