如何在RESTful API中从用户的电子邮件生成唯一的UID?

时间:2018-08-25 06:01:31

标签: mysql rest spring-rest

我正在为一个网站创建WebService,我必须在其中从UID的{​​{1}} / user生成email。并且此过程应该仅在用户注册步骤中。像这样,我们有我们的 twitter唯一ID 。我脑子里有几个问题:

  1. 这应该是客户端还是WebService的责任?

    • 我认为它应该属于WebService。
  2. 如果由Web服务负责,那么从name生成UID的逻辑应该是什么。

    • 一种解决方案是从电子邮件中提取myname@example.com并将user_id附加到最后一个。但是对于myname(MYSQL),这不是解决方案。另外,使用UID的整个想法是在浏览器中的URL中隐藏user_id(integer),因此此解决方案将再次公开user_id。
    • 另一种解决方案是在auto-generated user_id的末尾附加一些随机数,如果出现myname,请尝试使用其他一些数。但是,仅对于用户注册操作,这将花费大量时间。

处理此要求的理想和有效方法是什么?

这是我的MySql表架构:

ConstraintViolation

1 个答案:

答案 0 :(得分:0)

您可以使用php uniqid函数创建用户的唯一ID,并将其保存在用户表的column_id列中。这将是独特的 您可以使用以下代码生成一些唯一的ID。

<?php
echo uniqid("username");
?>