提问人:amdev 提问时间:10/23/2015 最后编辑:Nekvinamdev 更新时间:7/2/2020 访问量:2821
使用 REST 将对象从 spring boot 传输到 angular 的最佳实践是什么
What's the best practice to transfer object with REST from spring boot to angular
问:
考虑使用以下方法的应用程序:
- 服务器端的 Spring Boot(带有休眠、DAO 模式和 Oracle 数据库)
- 客户端的 AngularJS
- REST API 通信 ( Spring REST )
传输数据的最常见方法是什么?在我之前的项目中,我使用了 DTO(带推土机),但它增加了一百个类,浪费了开发时间,所以我决定寻找一个好的替代方案。
我听说过杰克逊?
手动创建 JSON?
使我的实体可序列化并直接发送它们?
2018 年更新
2 年后,我仍然在我所有的项目中使用 dto 类和 jackson 一起序列化为 json,使用 spring 数据不是这里的重点,返回一个作为 DB 对象的实体不是一个好的做法,您可以在实体的某些属性上使用@JsonIgnore,但它不是很灵活。您可以使用您想要的映射器或手工制作的映射器,在伟大的JHipster项目中使用的MapStruct似乎是一个不错的映射器。
答:
2赞
Christos Baziotis
10/23/2015
#1
您应该查看带有 Spring Data REST 的 Spring Data JPA。我将它与 angular 一起使用,将您的业务模型公开为 Restful Endpoints 非常容易。您可以将 Hibernate 用作 JPA 提供程序。使用Spring Boot,您可以轻松地创建一个项目,将所有这些放在一起,因此您无需执行任何操作。它可以为您节省大量时间。
过程是这样的:
- 创建实体(模型)
- 创建 JpaRepository
到此为止,你就拥有了它。生成 Restful 端点。
在前端,我使用 Restangular。 此外,在许多情况下,您可以避免 DTO 并使用摘录和投影。
阅读本指南:使用 REST 访问 JPA 数据。
评论
0赞
mikezang
2/6/2016
你使用 Thymeleaf 和 BootStrap 吗?我想将它们与 AngularJS 结合起来,这是否可能和必要?
1赞
amdev
2/27/2018
2 年后,我仍然在我所有的项目中使用 jackson 序列化的 DTO 类,使用 spring 数据不是这里的重点,返回一个作为 DB 对象的实体不是一个好的做法,您可以在实体的某些属性上使用 @JsonIgnore,但它不是很灵活。
评论