ObjectNode
我有一个接受as 的控制器@RequestBody
。
这ObjectNode
代表json
一些用户数据
{
"given_name":"ana",
"family_name": "fabry",
"email": "fabry@gmail.com",
"password": "mypass",
"gender": "FEMALE"
}
Run Code Online (Sandbox Code Playgroud)
控制器.java
@PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public JsonNode createUser(@RequestBody ObjectNode user){
return userService.addUser(user);
}
Run Code Online (Sandbox Code Playgroud)
我想让用户将ObjectNode
其转换为 JavaPOJO
将其保存到数据库并再次将其返回为JsonNode
.
UserServiceImpl.java
private final UserRepository userRepository;
private final UserMapper userMapper;
@Override
public JsonNode addUser(@RequestBody ObjectNode user) {
try {
return userMapper.fromJson(user)
.map(r -> {
final User created = userRepository.save(r);
return created;
})
.map(userMapper::toJson)
.orElseThrow(() -> new ResourceNotFoundException("Unable to find user")); …
Run Code Online (Sandbox Code Playgroud) 您好,我正在尝试解析我保存在资源文件夹中的 JSON 并对其进行测试。所以我现在采取了这些步骤。
数据加载器.java
@Service
public class DataLoader {
private static ObjectMapper objectMapper = defaultObjectMapper();
private static ObjectMapper defaultObjectMapper(){
ObjectMapper defaultObjectMapper = new ObjectMapper();
//defaultObjectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return defaultObjectMapper;
}
public static JsonNode parse(String str) throws IOException {
return objectMapper.readTree(str);
}
public static <A> A fromJason(JsonNode node, Class<A> clazz) throws JsonProcessingException {
return objectMapper.treeToValue(node, clazz);
}
}
Run Code Online (Sandbox Code Playgroud)
数据加载器测试.java
public class DataLoaderTest {
@Value("classpath:data/novo.json")
Resource jsonSource;
//private String jsonSource = "{\"title\":\"new book\"}";
@Test
public void parse() throws IOException {
JsonNode node = …
Run Code Online (Sandbox Code Playgroud) 我正在将 SpringBoot 与 Mongo 数据库一起使用,并且尝试将嵌入文档保存到数据库中。
我有这个模型:
配置文件.java
@Data
@Document
public class Profile {
public final City city;
public final String imageId;
public Profile(City city,
String imageId) {
this.city = city;
this.imageId = imageId;
}
@Override
public String toString() {
return "Profile{" +
", city=" + city +
", imageId='" + imageId + '\'' +
'}';
}
private static boolean atLeast(int numChars, String s) {
if (s == null) {
return false;
}
var str = s.strip();
return str.length() >= numChars; …
Run Code Online (Sandbox Code Playgroud)