首页 > 解决方案 > 可以在 post 方法 requestbody 中传递实体对象吗?

问题描述

我有一个 Springboot Rest 项目。假设我有 User 类作为实体。直接在 POST 方法的 RequestBody 中传递这个实体对象可以吗?我的功能将与此顺利进行。我的问题是,这是否是一个安全漏洞?如果是,解决方案是什么?

标签: restspring-bootspring-data-jpahttp-post

解决方案


这将很好地工作并且是一个简单的实现,但在架构上这不是一个好的实践,因为这将您的其余实现与您的数据库设计紧密耦合并将其暴露给 API 的使用者。

您应该让请求/响应对象进入您的 api 并从中取出,将其与数据库分离,并允许您在数据访问之上的层执行验证和其他业务规则。如果您发现必须在实体和 dtos 之间编写大量分配代码,那么您可以使用http://modelmapper.org/http://mapstruct.org/之类的工具


推荐阅读