Php:drupal8:rest

De Les Tutoriaux du WebMestre
Aller à : navigation, rechercher

Ressources

L'installation

  • Il suffit comme présenté sur [1] d'activer les 5 modules suivants (Ces 5 modules sont présents dans le coeur de Drupal8 mais sont par défaut désactivés)
    • RESTFUL Web Services (nom de machine rest). C'est le module principal ce module a besoin du module:
      • Serialization (nom de machine serialization) dont le travaille consiste à sérailiser/désérialiser des formats JSON/XML vers/de les objets Drupal8
    • pour importer/exporter aussi dans le format HAL (il s'agit dans le cas de Drupal HAL sur base JSON: hal_json), j'active également le module HAL (nom de machine hal)
    • HTTP Basic Authentication (nom de machine basic_auth) pour permettre aux clients HTTP d'utiliser l'authentification basique HTTP (à base d'identifiant et de mot de passe) en plus de l'authentification via cookies ...
  • Pour se faire il suffit de se connecter comme administrateur pour cela, suivre le chemin /admin/modules
    • et sur la page en question sélectionner les 4 modules ci dessus (tous présents sous la rubrique WEB SERVICES)

Un module intéressant pour gérer graphiquement les WebServices Drupal8

jpmena@jpmena-HP:~/RIF/drupal-8.0.3$ drush en -y restui
restui was not found.                                                                                                                               [warning]
The following projects provide some or all of the extensions not found:                                                                             [ok]
restui
Would you like to download them? (y/n): y
Project restui (8.x-1.11) downloaded to /home/jpmena/RIF/drupal-8.0.3//modules/restui.                                                              [success]
The following extensions will be enabled: restui
Do you really want to continue? (y/n): y
restui was enabled successfully.                                                                                                                    [ok]
restui defines the following permissions: administer rest resources
  • comme la dernière ligne l'indique une nouvelle permission a été créée,
    • elle se nomme administer rest resources
    • elle permet de gérer via l'interface REST UI les services REST exposés par Drupal 8
    • par défaut seul le rôle adminsitrateur a accès à l'interface REST UI
  • Le résultat peut s'obtenir par drush config-get rest.settings:
    • pour les éditer globalement drush config-edit rest.settings (il ouvre la liste sous vim) ...
jpmena@jpmena-HP:~/RIF/drupal-8.0.3$ drush config-get rest.settings
resources:
  'entity:node':
    GET:
      supported_formats:
        - hal_json
        - json
        - xml
      supported_auth:
        - basic_auth
    POST:
      supported_formats:
        - hal_json
      supported_auth:
        - basic_auth
    DELETE:
      supported_formats:
        - hal_json
      supported_auth:
        - basic_auth
    PATCH:
      supported_formats:
        - hal_json
      supported_auth:
        - basic_auth
  'entity:user':
    GET:
      supported_formats:
        - hal_json
        - json
        - xml
      supported_auth:
        - basic_auth
    POST:
      supported_formats:
        - hal_json
        - json
        - xml
      supported_auth:
        - basic_auth
        - cookie
    DELETE:
      supported_formats:
        - hal_json
        - json
        - xml
      supported_auth:
        - basic_auth
        - cookie
    PATCH:
      supported_formats:
        - hal_json
        - json
        - xml
      supported_auth:
        - basic_auth
        - cookie
link_domain: null
_core:
  default_config_hash: E9VXRiWZNet4YVBv8j9WQmTlgb-rOjo0MiCSdgV0Guw

Tests de l'interface REST