rest - 可以在 post 方法 requestbody 中传递实体对象吗?
问题描述
我有一个 Springboot Rest 项目。假设我有 User 类作为实体。直接在 POST 方法的 RequestBody 中传递这个实体对象可以吗?我的功能将与此顺利进行。我的问题是,这是否是一个安全漏洞?如果是,解决方案是什么?
解决方案
这将很好地工作并且是一个简单的实现,但在架构上这不是一个好的实践,因为这将您的其余实现与您的数据库设计紧密耦合并将其暴露给 API 的使用者。
您应该让请求/响应对象进入您的 api 并从中取出,将其与数据库分离,并允许您在数据访问之上的层执行验证和其他业务规则。如果您发现必须在实体和 dtos 之间编写大量分配代码,那么您可以使用http://modelmapper.org/或http://mapstruct.org/之类的工具
推荐阅读
- mongodb - MongoDB:仅在以前不存在于不同条件下的文档时才返回
- tsql - Rank 语句导致查询运行非常缓慢
- python - 有没有办法使用硒与网页中打开的外部应用程序警报进行交互?
- notepad++ - 使用 Notepad++ 在两个位置同时编辑两个相同的文件
- javascript - 如何在反应中使用formik附加输入
- python - 如何导入子包?
- html - Chrome 中日期类型输入元素上的清除按钮在哪里?
- flutter - 尽管发送了 Flutter StreamBuilder 的快照,但它没有日期——snapshot.data 始终设置为 initialData
- android - android webview仅显示空白页面特定的url
- datetime - Power Query - 将日期时间更改为文本而不更改格式