The document discusses building and using RESTful APIs with Drupal. It provides an overview of REST and its benefits, how data can be managed by Drupal as a REST server or client, considerations for building REST APIs, and modules and tools for working with REST in Drupal. The presentation agenda includes explaining REST, reasons to use RESTful APIs, data management paradigms in Drupal, and a demo of managing data both inside and outside of Drupal via REST.
Axa Assurance Maroc - Insurer Innovation Award 2024
RESTful with Drupal - in-s and out-s
1. RESTful with Drupal
Easy and consistent data management
presentation by Kalin Chernev
2. Agenda
● What is REST?
● 3 reasons to build and use RESTful APIs
● Data management paradigm reminded
● Data managed by Drupal
● Data managed by a friend of Drupal
● Considerations
● Modules and tools
● Resources
12. CASE 1: Drupal is REST Server
● We POST/GET jsons to manage Drupal
● Data is managed in Drupal
13. Playing with the CRUD methods
Endpoint Action Method
/api/node CREATE POST
/api/node VIEW ALL GET
/api/:node_id VIEW SINGLE GET
/api/:node_id UPDATE PUT
/api/:node_id DELETE DELETE
14. In reality, one can almost
always go a long way only
using GET & POST
15. CASE 2: Drupal is REST Client
● We POST/GET jsons to manage content
outside Drupal
● Data is contained outside Drupal
Data is shown and managed in Drupal
16. Drops REST API Server
Endpoint Action Method
/drops CREATE POST
/drops VIEW ALL GET
/drops/:drop_id VIEW SINGLE GET
/drops/:drop_id UPDATE PUT
/drops/:drop_id DELETE DELETE
18. What do you get
● Consistency and standardization
● Separate responsibilities of development
● Easy work
● Core in D8
● Cacheable
● Predictable development (to most part)
19. Considerations
● API server uptime and performance
● Large amounts of data transfer
● Security
● Data validation
● Error handling
● Apache configurations to hide server
address
20. Drupal contrib modules
● Services (totally rewritten for D7, good API)
● Services Entity API (of course!)
● RESTClient (from my experience)
● cURL HTTP Request (helper to restclient)
● Self Documenting REST API (D8)
● REST UI (D8)
21. Tools
● Advanced REST Client
● Rest Console
● Postman
i.e. You need a REST Client for your browser
22. Resources
● www.restapitutorial.com
● REST in Drupal 8 core
● Build a RESTful API Using Node and
Express 4 by scotch.io
● The code of the presentation (managing
drops in MEAN from Drupal back-end)