Auf Thema antworten

Wenn ich es richtig sehe gibt es keine richtige Java API für den Dienst. Die API, die dort beschrieben wird ist eine REST API. Du kannst dort also die genannten URI aufrufen und bekommst vom Server eine Antwort in JSON. Zur Verarbeitung des JSON gibt es viele Möglichkeiten:


a) Die Antwort kannst du manuell auseinander nehmen mit Hilfe von einer JSON Parse Library wie GSON oder Simple JSON. Also einzeln durch die Response iterieren und nur die Werte auslesen, die dich interessieren.


b) Ein Anderer Ansatz ist es das JSON in Java Klassen (respektive Objekte) zu gießen. Das nennt sich unmarshallen. Im einfachsten Fall ist das mit GSON:

[code=Java]Artist a = gson.fromJson(geniusResponseJSON, Artist.class);[/code]

oder mit der Library Jackson.


c) Du erstellst JAX-RS Client Interfaces für alle Routen der REST API. Dann kannst du mit jeder JAX-RS konformer Library diese API konsumieren. Siehe RESTEasy, Jersey (Die Funktionsweise lässt sich am besten mit dem GitHub Repo nachvollziehen. Der Provider Ansatz gefällt mir sehr gut, da sie schlank, einfach und flexibel ist. - Allerdings wird dort das Unmarshalling manuell gemacht).


Jede Variante hat ihre Vor und Nachteile. Was du wählst hängt davon ab ob du nur eben qucik&dirty zum Ziel kommen willst und nur 1-2 Sachen von der API abfragen willst oder ob du es sauber programmieren willst.

In jedem Fall kann ich dir empfehlen dich mit allen Möglichkeiten auseinanderzusetzen. REST API sind weit verbreitet und immer mehr Dienste bieten Informationen darüber an.



Oben