首页 > 解决方案 > 在响应模型中传递数据库约束是 REST 好/坏的做法吗

问题描述

假设我有一个名为的数据模型User和另一个 Called UserType。如果用户表中的任何条目中UserType没有使用该类型,我只能删除一个。User

现在,当我获取UserType详细信息时,我是否还获取了在某些用户创建中使用的约束UserType

根据 REST 最佳实践,什么是正确的方法?

标签: apirestarchitectureapi-designsoftware-design

解决方案


如果您使用的是关系数据库,我会让数据库引擎使用外键约束为您完成这项工作。当尝试执行此操作时,数据库引擎会抛出异常。在您的代码中捕获该异常,并返回适当的响应代码(400、405、406、409、428、500、510 都是竞争者)和指定原因的错误文本(英语 - 不是错误消息或堆栈跟踪 - 这只是向黑客泄露信息)为什么它不能被删除。


推荐阅读