-
Notifications
You must be signed in to change notification settings - Fork 173
Home
jeff-h edited this page Jan 11, 2016
·
87 revisions
Welcome to the RESTful wiki!
RESTful v2.x is the current recommended version. The 1.x documentation has been retained for those still using that version, and to help those upgrading to 2.x to see what has changed.
- [Tutorials & blog posts (2.x)](Tutorials & blog posts)
- [Tutorials & blog posts (1.x)](Tutorials & blog posts (1.x))
You can read on how to upgrade to RESTful 2.x here.
- Consuming your API e.g. from a Javascript framework
- Documenting your API
- Using the API from within Drupal
RESTful provides a number of resource endpoints out-of-the-box, and more are available in the supplied sub-modules.
- [List of default endpoints (1.x)](Endpoints provided out-of-the-box (1.x))
- List of default endpoints (2.x) (coming)
- defining the public fields (2.x) — also see 1.x
- Using process callbacks to modify field data
- [specifying available HTTP methods](Specifying available HTTP methods for each field) for each field (was
create_or_update_passthrough
in 1.x)
Going deeper:
- about a resource's [OPTIONS request](OPTIONS requests)
RESTful 2.x comes with numerous "data provider" classes. The data provider class abstracts the data access functionality from the resource class.
- [List of data providers](List of data providers (2x)) available "out of the box".
- [assigning a different data provider](Assigning a different data provider) for your resource
- [creating a custom data provider](Creating a custom data provider)
Example custom data providers:
- [access data from a secondary database](access data from a secondary database)
- creating a URL alias lookup with DataProviderDbQuery
- about RESTful's [response formatters](About response formatters)
- Authenticating to Drupal via REST
- requesting the current user information (also 1.x version)
- registering a new user
- filtering users by role
- saving an entity back to Drupal
- using Drupal core's block visibility to return entities visible at a specified path
- Filter on taxonomy term name, instead of term ID
- custom field access control
- usage with Backbone.js
- usage with EmberJS (3-part series)
- working with "old-school" modules that directly add data to an entity (e.g. in node_load)? Read what do to [when a property isn't available](When a property isn't available).
- Using a different field for URL ID
- Creating a resource that takes data from a secondary database
See the FAQ section.