Je dois importer sur le nœud des informations de sauvegarde d'un tiers REST et mapper ces données à une entité qui fait référence au nœud enregistré. Il y aura un champ dans le nœud que l'utilisateur pourra saisir un id qui est passé dans l'url de l'appel REST. L'appel REST renverra un objet XML qui doit être mappé à une nouvelle entité référencée) au nœud.
Comment cela se fait-il? Existe-t-il des exemples de Drupal 7 modules qui font cela?
Normalement, je lance juste le mien.
J'utilise un combo drupal_http_build_query et drupal_http_request pour faire la demande. J'utilise ensuite drupal_json_decode pour analyser les résultats JSON, ou simplexml_load_string pour analyser les résultats XML.
Lorsque cela est possible, j'essaie de résumer tout cela dans une classe PHP en tant que singleton , qui comprend également mise en cache statique et/ou mise en cache via cache_set / cache_get pour les requêtes réelles. Je vais ensuite tout récapituler comme un module normal Drupal.
Invariablement, le service que je consomme aura quelque chose d'étrange à ce sujet qui empêche d'utiliser une solution générique. De plus, je ne trouve pas les solutions génériques plus simples qu'une solution personnalisée.
Vous pouvez également utiliser le module Web Service Clients . C'est une correspondance parfaite lors de la consommation à partir du module drupal Services mais il peut également être utilisé avec d'autres API REST.
Avez-vous regardé Client REST ? Ce n'est pas pour une utilisation en production (actuellement) mais c'est un bon point de départ si vous ne voulez pas simplement utiliser drupal_http_request contre l'API que vous utilisez.