Anzahl der Flugzeuge mit 3 Zeilen Java Code ausgeben via REST API mit Jersey und JDom 2.0

Mit Java ist es nicht schwer, einen REST Client zu erstellen. Das geht mit Jersey und JDom in 3 Zeilen.

Hier nun mal ein Beispiel.

Die Anzahl der Flugzeuge in Hannover wird von mir mit einem Raspberry Pi empfangen und an thingspeak gesendet.

jdom-2.0
Diese Daten kann jeder leicht abfragen.
Einfach die URL https://api.thingspeak.com/channels/44177/feeds/last.xml in einem Browser eingeben oder den Link anklicken. Es werden z.b. diese Daten geliefert:

2016-05-13T14:40:01Z
  79194
  15

Die 15 ist die Anzahl der Flugzeuge, die alle 5 Minuten aktualisiert wird.
Oder wenn man sich den Quelltext anschaut, sieht man dieses XML.

<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <created-at type="dateTime">2016-05-13T14:35:02Z</created-at>
  <entry-id type="integer">79193</entry-id>
  <field1>16</field1>
  <id type="integer" nil="true"/>
</feed>

Diese Abfrage können wir nun mit einem eigenen REST Client ausführen. Dazu nehmen wir Jersey:

// URL des Feeds aller Flugzeuge in Hannover von Thomas Wenzlaff. //
private final static String FLUGZEUG_URL = "https://api.thingspeak.com/channels/44177/feeds/last.xml";

String result = ClientBuilder.newClient().target(FLUGZEUG_URL).request().get(String.class);	

String field1 = new SAXBuilder().build(new StringReader(result)).getDocument().getRootElement().getChild("field1").getText();

System.out.println("Aktuelle Anzahl Flugzeuge in Langenhagen: " + field1);

Folgende Maven Abhängigkeiten brauchen wir noch:

<dependencies>
		<dependency>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-client</artifactId>
			<version>2.21</version>
		</dependency>
		<dependency>
			<groupId>org.jdom</groupId>
			<artifactId>jdom2</artifactId>
			<version>2.0.6</version>
		</dependency>
	</dependencies>

Das alles kann in ein paar Minuten implementiert werden. Wer das ganze Projekt laden möchte, kann es bei Github laden bzw. anschauen.

Ähnliche Artikel:

  1. Wie kann die Anzahl der gerade empfangenen Flugzeuge mit DUMP1090 auf einem Raspberry Pi an ThingSpeak.com mit jq gesendet werden?
  2. Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder
  3. Ecore: Wie kann ein Java Attribut für die Hibernate Suche im Ecore Modell annotiert werden?

wallpaper-1019588
Make a Girl: Neuer Trailer zeigt Theme-Song + Visual
wallpaper-1019588
Darwin’s Incident – Neuigkeiten zum Anime + Visual
wallpaper-1019588
There’s No Freaking Way I’ll Be Your Lover! Unless… – Anime-Adaption angekündigt + Teaser + Visual
wallpaper-1019588
Schöne und gesunde Haut Teil 3