RESTを介してJSONやHAL + JSON Webサービスを利用するためにGuzzleを活用する既存のDrupal 8モジュール(drupal.org、GitHub、またはその他の場所))はありますか?
または、Drupalコアに同梱されているGuzzle HTTPクライアントを活用するカスタムモジュールを作成するための推奨方法はありますか?
私の最終目標は、RESTful Webサービスからのキーと値のペアでフィールド(ノード、ユーザー...)をマップする1対1の関係を作成できるようにすることです。次に、それらの値を読み取り、更新、または削除できるようにする必要があります。
ああ、たった今気づいたかもしれませんが、100%質問を誤解しているかもしれません
これは基本的に出力を生成するコードです:
$serializer = \Drupal::service('serializer'):
$output = $serializer->serialize($entity, $format);
たとえば$ formatは 'json'です。
幸いなことに、シリアライザは対称的であるため、逆の方法でも同じことができます。
$client = \Drupal::service('http_client');
$result = $client->get('http://example.com/entity/node/1', ['Accept' => 'application/json']);
$output = $result->getBody();
$serializer = \Drupal::service('serializer'):
$entity = $serializer->deserialize($output, 'Drupal\node\Entity\Node', $format);
HTTP Client Manager モジュールのページから:
Http Client Managerは新しいGuzzleベースのプラグインを導入し、JSONファイルを介してGuzzle Service Descriptionsを使用して、シンプルで効率的な方法でHTTPクライアントを管理できるようにします
モジュール「RESTful Webサービス」があります-エンティティやその他のリソースをRESTful Web APIとして公開します。 guzzleは、Drupalコアで使用される標準のhttpclientです。 "RESTful Webサービス"変更されたモジュール " Drupal 7.からのサービスです。これはserviceです。ただし、考え方は同じです。任意のサービスをDrupalサービスとして。