JSON-Ausgabe im Spring-MVC streamen

8

Meine Anwendung wird mit Spring boot (1.3.3.RELEASE) mit Feder mvc, Federdaten jpa Hibernate erstellt. MySql ist die Datenbank und Jackson ist der Json Serializer. Auf Java 8.

Ich möchte einen großen Datensatz in meiner Controller-Methode zurückgeben. Anstatt alle Daten abzurufen und dann in den Jacksons Serializer zu gelangen, möchte ich einen Strom von Objekten wie folgt zurückgeben:

%Vor%

mein DAO ist wie folgt:

%Vor%

Jackson wird jedoch das Stream-Objekt anstelle des Inhalts des Streams serialisieren. Die tatsächliche Ausgabe unten:

%Vor%

Wie kann ich Jackson anweisen, den Inhalt und nicht das Stream-Objekt zu serialisieren?

    
Vasco 11.05.2016, 07:13
quelle

3 Antworten

11

Dank diesem konnte ich das Problem lösen.

Ich hatte einen benutzerdefinierten httpMessageConverter bereitgestellt, der versteht, wie mit Streams umzugehen ist. Wie so:

%Vor%     
Vasco 12.05.2016 12:30
quelle
1

Es gibt eine vorgeschlagene Lösung bei Ссылка , die möglicherweise der bessere Weg ist.

Ich werde den Code hier nicht einfügen, da er in diesem Problem möglicherweise aktualisiert wird.

Bisher habe ich keine Probleme mit dem vorgeschlagenen Code gefunden, den ich mit anderen Modulen wie dem Jdk8Module für Optional als

hinzugefügt habe %Vor%     
NealeU 29.11.2016 11:27
quelle
0

Ich fand, dass diese Art, Unterstützung für Streams hinzuzufügen, die nette Ausgabe von LocalDate / LocalDateTime unterbrach, und endete damit wie folgt:

%Vor%     
Claus Larsen 26.10.2016 05:45
quelle