gpt4 book ai didi

java - Vavr 对象的序列化器/反序列化器

转载 作者:搜寻专家 更新时间:2023-11-01 02:37:05 32 4
gpt4 key购买 nike

您好,我正在尝试将 vavr 添加到我的项目中,现在我正在为 Vavr.List 对象的正确序列化而苦苦挣扎。下面是我的 Controller :

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 是我的自定义对象,List 是 Vavr 集合,如导入语句所示。我在 Postman 中得到的响应是:

{
"empty": false,
"lazy": false,
"async": false,
"traversableAgain": true,
"sequential": true,
"singleValued": false,
"distinct": false,
"ordered": false,
"orNull": {
"deleted": true
},
"memoized": false
}

我希望我的对象的 JSON 列表在哪里。下面是我的配置:

@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());
}
}

和一些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>

最佳答案

Spring Boot 检索 com.fasterxml.jackson.databind.Module 类的所有实例并用它们初始化 ObjectMapper。不需要额外的魔法。

我的依赖如下(Spring Boot 1.5.7.RELEASE):

dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
compile group: 'io.vavr', name: 'vavr', version: '0.9.1'
compile group: 'io.vavr', name: 'vavr-jackson', version: '0.9.1'
}

应用程序配置如下:

@SpringBootApplication
public class BootvavrApplication {

public static void main(String[] args) {
SpringApplication.run(BootvavrApplication.class, args);
}

@Bean
Module vavrModule() {
return new VavrModule();
}
}

Controller 映射如下:

import io.vavr.collection.List;
@RestController
class TestController {

@GetMapping("/test")
List<String> testing() {
return List.of("test", "test2");
}
}

输出是:

["test","test2"]

您可以在此处查看代码:https://github.com/mihn/bootvavr

关于java - Vavr 对象的序列化器/反序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46285615/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com