完整堆栈应用程序 - 填写非用户定义字段的位置? |正面还是背面?

时间:2018-05-22 18:12:57

标签: spring angular web jhipster

首先,我必须指出我是Full Stack Development领域的新手,我使用JHipster框架来实现我的应用程序。

所以,让我们假设我有一个包含这些字段的Post实体:

发布实体

name: String,
text: String,
dateCreated: ZoneDateTime,
userID: String

当用户创建帖子时,我想自动添加 dateCreated 字段以及将保存到数据库的Post实体中的 userID 。 所以我的问题是: 我应该在哪里用userID和dateCreated填充模型?在前端(Angular)还是在后端(Spring)?适当的方式是什么?

2 个答案:

答案 0 :(得分:2)

您可以在前端或后端设置值,但请注意,用户在发出请求时可以发送自己的值。这就是为什么我建议你在后端实现它,如果你想确保数据有效。

在您的实体服务类(或资源,如果您不使用服务)中,在save方法中,如果ID为null,则设置createdDate和userId。您可以通过SecurityUtils获取用户的登录信息,并通过登录(UserRepository或UserService)查询userId。

答案 1 :(得分:1)

由于与用户的交互发生在前端,您必须收集并在客户端以某种方式表示此数据。您可以构建一个对象postVM(映射输入数据)并将其发送到后端,后端将使用该信息构建一个Post对象并在数据库中保留,使其成为一个实体。