如何在 Spring Boot 中将 Set<BookDto> 转换为 Set<Book>
How to convert Set<BookDto> to Set<Book> in Spring Boot
我怎样才能做到这一点?或者我应该直接使用 book 模型而不是 bookdto 来处理这些事情吗?最佳做法是什么?
Spring 开机有bean com.fasterxml.jackson.databind.ObjectMapper
注入即可。更好地通过您的组件构造函数。或者只是做一个实例。
之后有两种方法。您可以映射所有流:
Set<Book> books = bookDtoSet.stream().map(i -> objectMapper.convertValue(i, Book.class)).collect(Collectors.toSet());
或使用这种方法:
Set<Book> books = objectMapper.convertValue(bookDtoSet, new TypeReference<Set<Book>>() { });
只要字段的名称和类型相似,这两种方式都有效。
我怎样才能做到这一点?或者我应该直接使用 book 模型而不是 bookdto 来处理这些事情吗?最佳做法是什么?
Spring 开机有bean com.fasterxml.jackson.databind.ObjectMapper
注入即可。更好地通过您的组件构造函数。或者只是做一个实例。
之后有两种方法。您可以映射所有流:
Set<Book> books = bookDtoSet.stream().map(i -> objectMapper.convertValue(i, Book.class)).collect(Collectors.toSet());
或使用这种方法:
Set<Book> books = objectMapper.convertValue(bookDtoSet, new TypeReference<Set<Book>>() { });
只要字段的名称和类型相似,这两种方式都有效。