Ich möchte einen Stream aus einer Reihe von Dokumenten an einen Webdienst senden . Dies spart den HTTP-Request / Response-Overhead und konzentriert sich auf die Dokumente selbst.
In Python können Sie so etwas tun:
%Vor%Ich bin auf der Suche nach einem Beispiel für jemanden, der eine Anfrage an eine Jersey-Rest-API streamt. Ich hatte gehofft, die Client-Seite und die Server-Seite zu sehen, dass es funktioniert. Aber ich kämpfe hart, um dort ein Beispiel zu finden.
Das Beispiel würde idealerweise zeigen:
%Vor%Wenn wir es richtig verstanden haben, werden Sie Entitäten auf dem Server verarbeiten, während Sie sie noch auf dem Client senden! Riesiger Gewinn!
Eine der einfachsten Möglichkeiten, dies zu erreichen, besteht darin, Jersey den POST-Handler mit einem InputStream
für den HTTP-POST-Body versehen zu lassen. Die Methode kann den InputStream
- und JSON-Parser Ihrer Wahl verwenden, um jedes Objekt zu analysieren und dann zu behandeln.
Im folgenden Beispiel erzeugt die a Jackson ObjectReader
eine MappingIterator
, die jedes Person
-Dokument im Array analysiert und verarbeitet, wenn es an den Server geliefert wird.
Ebenso kann das Jersey Client-Framework einen Stream von Dokumenten senden, wenn es mit einem Jackson ObjectMapper
konfiguriert wurde. Das folgende Beispiel demonstriert dies mit dem Jersey Test-Framework. Der Client streamt einen beliebig großen Iterator von Person
documents