我在我的项目中使用依赖项,这确实节省了大量时间,并为在项目中定义spring-boot-starter-data-rest
了关联存储库的实体自动创建 Rest 端点。CrudRepository
但是假设我的一个实体是Article
并且经过身份验证的用户(在本例中为会话身份验证)可以从 POST 端点创建文章。在我的Article
表中,我有一列user_id
,它代表创建文章的用户的 ID。
现在用户可以使用 POST 端点并发送user_id
不安全的属性,一个用户可以设置这个 id 并假装另一个用户发布了一篇文章。所以我必须在后端级别设置这个属性(来自用户的会话信息)。
我对 spring 环境有点陌生,现在我能想到的唯一解决方案是完全重写端点,以便我可以user_id
正确地存储到数据库中。这是适得其反的,因为这是对默认行为spring-boot-starter-data-rest
提供的一个非常小的更改。是否有一种解决方案可以在将 Article 对象推入数据库之前捕获它,这样我就可以设置user_id
并将其发送回默认处理?