Hallo Ich versuche, Vavr zu meinem Projekt hinzuzufügen, gerade jetzt im Kampf mit der richtigen Serialization von Vavr.List Objekte. Unten ist mein Controller:Serializer/Deserializer für Vavr-Objekte
import io.vavr.collection.List;
@GetMapping(value = "/xxx")
public List<EntityDeleted> getFile() {
return List.of(new EntityDeleted(true),new EntityDeleted(true),new EntityDeleted(true),new EntityDeleted(true));
}
EntityDeleted ist mein benutzerdefiniertes Objekt, List ist Vavr Sammlung wie in Import-Anweisung gezeigt. Die Antwort Im in Postman bekommen ist:
{
"empty": false,
"lazy": false,
"async": false,
"traversableAgain": true,
"sequential": true,
"singleValued": false,
"distinct": false,
"ordered": false,
"orNull": {
"deleted": true
},
"memoized": false
}
wo ich JSON Liste meiner Objekte erwarten. Im Folgenden meine config:
@SpringBootApplication
public class PlomberApplication {
public static void main(String[] args) {
SpringApplication.run(PlomberApplication.class, args);
}
@Bean
public ObjectMapper jacksonBuilder() {
ObjectMapper mapper = new ObjectMapper();
return mapper.registerModule(new VavrModule());
}
}
und wenig pom.xml
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr-jackson</artifactId>
<version>0.9.0</version>
</dependency>
Ich habe die Lösung gefunden, ich hatte @EnableWebMvc Annotation in einer meiner Config-Klasse, die irgendwie meine Konfiguration zu Mapper überschreiben – filemonczyk
Oh! Das könnte das tun. :) – mihn