Validation 插入前验证UUID?

Validation 插入前验证UUID?,validation,rest,restful-architecture,Validation,Rest,Restful Architecture,我的应用程序具有以下结构- 用户属于某个部署,并且在该部署中具有角色(读取、完整等)。然后,每个部署都属于一个组织 我正在编写一个API,允许用户添加到现有组织中 添加用户时,由最终用户发送角色id,部署id,组织id。在任何给定时间点,用户只能添加到一个组织中,但可以添加到该组织中的多个部署中。对于每个部署,用户可以有不同的角色 每个ID实际上都是UUIDv4。现在,作为编写API的人员,在尝试插入这些UUID之前,我是否有责任验证这些UUID是否有效并属于现有的组织/部署/角色?我们在数据库

我的应用程序具有以下结构-

用户属于某个部署,并且在该部署中具有角色(读取、完整等)。然后,每个部署都属于一个组织

我正在编写一个API,允许用户添加到现有组织中

添加用户时,由最终用户发送
角色id
部署id
组织id
。在任何给定时间点,用户只能添加到一个组织中,但可以添加到该组织中的多个部署中。对于每个部署,用户可以有不同的角色


每个ID实际上都是UUIDv4。现在,作为编写API的人员,在尝试插入这些UUID之前,我是否有责任验证这些UUID是否有效并属于现有的组织/部署/角色?我们在数据库上定义了适当的外键引用,这足够了吗?依赖外键的问题在于,我无法以更有意义的方式响应API用户。

服务器应检查是否满足添加用户的所有先决条件。如何做到这一点并不是一个简单的问题。您可以依赖数据库约束,也可以实现业务逻辑

重要的是,如果由于不满足先决条件而无法添加用户,REST服务器必须返回正确的响应。此的HTTP状态代码为

409 Conflict
回复的主体应包含有关为什么不满足前提条件的信息。这些信息可以是结构化数据,例如JSON