使用主键是一个好的解决方案吗
Is it a good solution to use primary key
我想创建自己喜欢的简单项目(新闻站点)。我有几个问题:
- 在页面url中使用DB实体的主键是否不正确? (“/atricles/{id}/{article.name}”)。文章可以有相同的名称,所以我不能这样做 ("/articles/{article.name}") 或者我应该在数据库中创建唯一的 BIGINT 数字来解决删除和查找文章的问题。("/articles/{ specilaUniqueNumber}/{Name}")
据我在 API 的 Web 开发中使用 POST 请求时,我提供了一个 id 作为数据库条目。
此 id 可用于 PUT 请求,因此我们知道需要修改的条目。
我在 POST 中生成的条目 ID 可以在 POST 响应中返回,因此使用 API 的开发人员可以在下一个 PUT 请求中使用它来定义 API 数据库的哪个条目要修改。
但正如我所说,这是针对 POST 请求的响应,它被 POST 响应隐藏并且在 URL.
中的所有用户眼中都不是免费的
如果我们在 URL 中使用它,这意味着我们使用 GET 请求。我认为把它暴露在每个人的眼前是不安全的。
您应该按照您所说的那样创建一个 url,其中包含所有公认的字符,这些字符将不包含您在数据库中的条目的真实 ID。
如果你想像我说的那样向 API 提供此 ID,你可以通过隐藏在每个用户眼中的 POST 回复来实现。
url 必须是某些人可以按下以获取您的页面的东西。
不知道你是否明白我想对你说的话。问我要不要。
但是在这个问题中,你没有说明你在 url 中在哪里以及如何使用这个 id。您开发什么框架和什么应用程序。
这就是为什么我告诉你我的故事方式。我假设您开发 restful 服务。
我想创建自己喜欢的简单项目(新闻站点)。我有几个问题:
- 在页面url中使用DB实体的主键是否不正确? (“/atricles/{id}/{article.name}”)。文章可以有相同的名称,所以我不能这样做 ("/articles/{article.name}") 或者我应该在数据库中创建唯一的 BIGINT 数字来解决删除和查找文章的问题。("/articles/{ specilaUniqueNumber}/{Name}")
据我在 API 的 Web 开发中使用 POST 请求时,我提供了一个 id 作为数据库条目。 此 id 可用于 PUT 请求,因此我们知道需要修改的条目。 我在 POST 中生成的条目 ID 可以在 POST 响应中返回,因此使用 API 的开发人员可以在下一个 PUT 请求中使用它来定义 API 数据库的哪个条目要修改。 但正如我所说,这是针对 POST 请求的响应,它被 POST 响应隐藏并且在 URL.
中的所有用户眼中都不是免费的如果我们在 URL 中使用它,这意味着我们使用 GET 请求。我认为把它暴露在每个人的眼前是不安全的。 您应该按照您所说的那样创建一个 url,其中包含所有公认的字符,这些字符将不包含您在数据库中的条目的真实 ID。
如果你想像我说的那样向 API 提供此 ID,你可以通过隐藏在每个用户眼中的 POST 回复来实现。 url 必须是某些人可以按下以获取您的页面的东西。
不知道你是否明白我想对你说的话。问我要不要。 但是在这个问题中,你没有说明你在 url 中在哪里以及如何使用这个 id。您开发什么框架和什么应用程序。 这就是为什么我告诉你我的故事方式。我假设您开发 restful 服务。