Wie externe JSON API aufrufen?
Eingetragen von rhodes (631)
am 14.09.2019 - 09:53 Uhr in
am 14.09.2019 - 09:53 Uhr in
Hallo zusammen,
in einer Drupal 8 Installation möchte ich ein Module erstellen, das einen Block definiert. In diesem Block sollen Daten angezeigt werden, die von einer externen JSON-API (z.B. https://api.mysource/endpoint“ ) bereitgestellt werden, z.B. einer Wetter-API.
Leider ist mir nicht ganz klar, wie die einfachste Vorgehensweise für den Abruf der Json API ist. Macht man das am besten über einen Service?
Oder kann ich einfach auch in der Block-Klasse eine Funktion getJsonData() definieren, und die dann in der Build-Funktion des Blocks aufrufen?
z.B. so
$client = \Drupal::httpClient();
$client->request('GET', 'https://api.mysource/endpoint‘);
Bin für jeden Tipp dankbar
Viele Grüße
rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi. Da gibt es verschiedene
am 14.09.2019 - 12:24 Uhr
Hi.
Da gibt es verschiedene Möglichkeiten.
Das wäre z.B. eine
<?php
$data = file_get_contents('https://cat-fact.herokuapp.com/facts/random?amount=2');
$cat_facts = json_decode($data, TRUE);
foreach ($cat_facts as $cat_fact) {
print "<h3>".$cat_fact['text']."</h3>";
}
oder mit Guzzle:
https://www.hook42.com/blog/consuming-json-apis-drupal-8
Gruss
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)