我们正在构建一个多租户应用程序,它将用户记录存储在一个共同的“用户”TABLE中。每个用户记录都有一个tenantID来保持数据隔离。
我们正在向客户端公开API,并且API对各个用户都有操作。
GET /api/users/{id}
公开我们的TABLE ID似乎不对,这是表中所有“用户”的自动生成的PRIMARY键。是否有更好的做法,例如为每个用户生成一个唯一的哈希值,并将其作为我们为客户端公开的“ID”?或者我们应该为表执行不同类型的主键,例如不显示增量计数的哈希或复合主键?或者我们应该为每个客户的用户创建一个递增的整数“ID”?谢谢!
答案 0 :(得分:1)
有一些原因不使用数据库自动生成的id作为资源标识符:
在这种情况下,资源标识符应该是具有语义的唯一字母数字(当有意义时)