und wie ich mir vorstelle das er funktionieren sollte:
Response response= webTarget
.request(MediaType.APPLICATION_JSON_TYPE)
.get();
String jsonResult =response
.readEntity(Entity.class);
...```
Habe mich bei der Einrichtung von Jackson an folgende Anleitung gehalten [->Anleitung](https://jersey.java.net/documentation/latest/media.html#json.jackson) und nutze Jackson 2.
Hat jemand eventuell Erfahrung mit Jackson und Jersey und kann mir weiterhelfen?
für den spinnenden RSS-Reader mit inzwischen 4 Meldungen zu deinem Blog-Eintrag kannst du zwar nichts,
aber musste auch noch ein Blog-Eintrag mit demselben Thema sein?
ein Push hier wäre ja notfalls gleiches Ergebnis
ich habe nicht viel Ahnung vom Thema, verstehe aber strukturell deine Frage nicht, das läßt vielleicht schon Nachfrage zu:
im ersten Code hast du 4 Befehls-Zeilen, die alle wichtig beteiligt aussehen,
im zweiten hast du nur die ersten beiden davon, warum sollten die alleine auch schon was schaffen können?
wolltest du hier eher ganz anderen Code posten?
im ziemlich langen Link sehe ich deinen Code auch nicht allzu komplett,
zwar von ObjectMapper die Rede, aber kein ‚readValue‘ oder wenigstens ‚readEntity‘ auf der ganzen Seite?
ist ‚Entity‘ hier deine konkrete Klasse oder was allgemeines?
klingt so allgemein nach API, zumal direkt bei Aufruf readEntity()…, besser simple Beispiele wie ‚Person‘
wenn es dir nur darum geht Code kürzer zu machen kannst du ihn vielleicht in Hilfsmethoden verstecken,
statisch oder passend konfigurierte Objekte (etwa Mapper zu einer bestimmten Klasse, generisch?),
wie lang und kompliziert Aufrufe bestimmter APIs sind, ist oftmals reichlich egal
Mein Ziel ist es dass Jersey auf Basis des MediaTypes die Antwort automatisch in ein Objekt parsen kann.
Wie im zweiten Beispiel zu sehen. Leider bekomme ich dabei momentan die Fehlermeldung:
Exception in thread "main" org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyReader not found for media type=application/json,...
Scheinbar hat Jersey Jacksons Provider nicht angenommen.
Diesen habe ich auf folgende Art versucht einzubinden:
.packages("xyz")
.register(JacksonObjectMapperProvider.class)
.register(JacksonFeature.class);```
Entity soll einfach nur für eine Entity-Klasse stehen(POJO).
und im ersten Beispiel nicht? wieso nicht wenn doch jedes einzelne Zeichen des zweiten Codes auch im ersten drankommt?
ich frage mich immer noch ob du da nicht teils anderen Code posten wolltest, wie nun einen dritten Code,
vielleicht noch einmal alles sauber sortieren?
ich erinnere ebenso nochmal daran, dass in deinem Link nicht mal ‚readValue‘ irgendwo aufgetaucht, wäre nicht andere Quelle hilfreich, gibt doch sicher Tutorials?
Also beim ersten Eintrag sollte als zweites eigentlich
.request(MediaType.APPLICATION_JSON_TYPE)
.get();
Entity entity =response
.readEntity(Entity.class);```
stehen. Es funktioniert jetzt übrigens auch.
Musste nur den Client richtig initialisieren:
```Client client = ClientBuilder.newClient().register(MultiPartFeature.class)
.register(JacksonFeature.class)
.register(JacksonObjectMapperProvider.class);```
Können eigentlich alte Einträge nicht mehr bearbeitet werden?
nein/ ja, wie immer auf so eine negierende Frage zu antworten ,
damit nicht Spaßvögel am Ende ihre Postings zu „-“ kürzen
schon ganz gut eine gewisse Konstanz zu haben,
in einem ordentlich konfigurierbaren Forum wäre das sicher etwas, was man einem User ab x Postings dann doch zugestehen würde,
vielleicht 100 (ob Fachbeiträge oder sonstige), da wärst du dann schon dabei
Dann wären die irritierten Nachfragen allerdings auch seltsam, wenn im ersten Post gleich das richtige stände.
Schön, dass es jetzt klappt, auch wenn ich von der Sache keine Ahnung habe.