我正在使用Spring Data JPA,并且有一个PagingAndSortingRepository<Contact, Long>
使用JPASpecificationExecutor<Contact>
。我将Specification
和Pageable
实例传递给.findAll()
此存储库的方法以获取Page<Contact>
。
但是,我的Contact
实体在前端不需要很多额外的字段和映射。所以,我有一个ContactDto
只包含必要的字段,我也可以从一个转换方法Contact
来ContactDto
。
private ContactDto convertToContactDto(Contact contact) {
//do the conversion
}
我将如何使用这种转换方法将转换Page<Contact>
为Page<ContactDto>
?
我可以获取的内容,Page<Contact>
并像这样进行转换。
final Page<Contact> contactPage = pagingAndSortingContactRepository
.findAll(ContactSpecification.findByFirstNmLike(firstNm), pageable);
final Collection<ContactDto> contactDtos = contactPage.getContent()
.stream()
.map(this::convertToContactDto)
.collect(Collectors.toList());
但是然后我留下了一个Collection
而不是一个Page
,而我不知道如何将它Collection
纳入内容Page
。有没有办法做到这一点?还是有另一种方法可以在Page<Contact>
实例本身上调用转换?
事实证明,它Page
具有自己的.map()
方法,您可以向其传递方法引用以进行转换。
这就是我最终进行转换的方式。
final Page<ContactDto> contactDtoPage = contactPage.map(this::convertToContactDto);
该convertToContactDto
方法只是创建并返回我要转换为的类的实例:
private ContactDto convertToContactDto(final Contact contact) {
final ContactDto contactDto = new ContactDto();
//get values from contact entity and set them in contactDto
//e.g. contactDto.setContactId(contact.getContactId());
return contactDto;
}
要允许您传播关于已生成消息的内容类型的信息,默认情况下,Spring Cloud Stream附加contentType标头到出站消息。对于不直接支持头文件的中间件,Spring Cloud Stream提供了自己的自动将邮件包裹在自己的信封中的机制。对于支持头文件的中间件,Spring Cloud Stream应用程序可以从非Spring Cloud Stream应用程序接收具有给定内容类型的消
问题内容: 我有一个带有对话框窗口的页面,该页面将ajax发布数据发送到服务器并接收响应。在开发过程中,可能有两种响应- 一种常规(这不是问题)或一种有错误。服务器返回代码500和包含大量调试信息的页面。这是从框架返回的常规页面,其中包含一些javascript代码。我希望能够显示此错误页面,以防万一。 问题是,我不能简单地将返回的结果附加到body元素或在新页面中打开新链接并再次加载此错误。我只
我想生产一个PDF的网页在景观。虽然可以使用以下方法将页面大小设置为横向: 这并没有达到我想要的,因为我添加的任何内容仍然是面向左->右的,而我希望它是底部->顶部的。 即。这就是我得到的: 我已经能够实现所需的输出打开PDF后,它已经创建并使用iText旋转它,但我想要一个解决方案,让我旋转后立即与iText添加内容。
本文向大家介绍AngularJS转换响应内容,包括了AngularJS转换响应内容的使用技巧和注意事项,需要的朋友参考一下 从远程API获取到的响应内容,通常是json格式的,有时候需要对获取到的内容进行转换,比如去除某些不需要的字段,给字段取别名,等等。 本篇就来体验在AngualrJS中如何实现。 在主页面,还是从controller中拿数据。 以上,userName, url字段是从源数据中
我使用的是Spring数据JPA。 我的控制器如下所示 现在我决定发送一个PageDTO对象来代替Page对象,以限制发送内容。有什么办法可以用java 8把页面转换成页面? 我看到Page是从派生而来的,所以我想我可以做一些类似的事情,但不知道如何将它与PageDTO和UserDTO结合起来。 有没有有效的java 8方法来做到这一点。 我想出了这个解决方案 我想知道是否有另一种有效的方法来做到
问题内容: 我有一个具有典型结构的HTML页面: 您认为有可能吗?我已经尝试给html标记添加一个ID,并且没有成功。 不要问我为什么,但这就是我所需要的(我正在与一个特殊的“ mashup builder”站点合作……这是一个很长的故事)。 编辑 :我忘了说 接收内容 中的 脚本必须执行 ,甚至包括使用在内的外部脚本。 问题答案: 使用 jQuery 尝试一下: 在docs.jquery.com