Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Http-Requests
Mithilfe der Klassen HttpClient
, HttpRequest
und HttpResponse
können von der Online-IDE aus http(s)-Anfragen gesendet werden. Es sind sowohl GET- als auch POST-Requests möglich. Die Benutzung der Klassen wird durch die Beispiele unten erklärt.
Beschränkung durch die Same-Origin-Policy der Server
Da die Online-IDE im Browser läuft, werden die http(s)-Requests aus der Webseite heraus per Javascript Fetch-API generiert. Origin der Anfragen ist daher https://www.learnj.de bzw. https://www.online-ide.de. Viele Server gestatten leider keine Requests von einem Origin, der nicht ihrer eigenen Domain entspricht (SOP = "same origin policy"). Von der Online-IDE aus können daher nur Daten von Servern abgerufen werden, die einen offenen CORS-Header gesetzt haben (Access-Control-Allow-Origin: *
).
Beispiel 1: Durchschnittseinkommen in den USA nach Branche
Viele Daten über die USA erhält man auf der Seite https://datausa.io. Das öffentliche API ist hier beschrieben. Wir holen uns Daten über das jährliche Durchschnittseinkommen in Abhängigkeit von der Branche:
Die Ausgabe liegt im Json-Format vor. Zum Aufbereiten nutzen wir die JsonParser-Klasse der Online-IDE. Sie konvertiert die Json-Zeichenkette in einen Objektbaum. Wir betrachten zunächst den Beginn der Zeichenkette:
{"data":[{"ID Major Occupation Group":"110000-290000","Major Occupation Group":"Management, business, science, & arts occupations","ID Year":2020,"Year":"2020","ID Workforce Status":true,"Workforce Status":"true","Average Wage":81574.98386970875,"Average Wage Appx MOE":268.2938957859685,"Record Count":2816397,"Slug Major Occupation Group":"management-business-science-arts-occupations"},{"ID Major Occupation Group":"310000-390000","Major Occupation Group":"Service Occupations","ID Year":2020,"Year":"2020","ID Workforce Status":true,"Workforce Status":"true","Average Wage":27802.542188374573,"Average Wage Appx MOE":150.1426164834158,"Record Count":1067809,"Slug Major Occupation Group":"service-occupations"} usw...