将 UUID 与 RESTful URL 标准一起使用的最佳做法是什么:/collection/{Id}?
What is the best practice to use UUID with RESTful URL standards: /collection/{Id}?
有些文章声称在使用 JPA 时要避免等号(以及哈希码)问题,在使用生成的 Id 时需要使用 UUID,例如:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
由于 RESTful 服务和 Spring 数据(因此 @Entity -ies)紧密耦合,合理的问题是:
使用此类资源的最佳做法是什么 URL:RESTful 服务标准在 URL 中声明 {Id}-s
但 UUID 在 URL 中很难看到它秒。
那么解决它的最佳实践是什么?
(或者可能是我错了,像这样的数字没有什么不好的:b5607d38-8fc1-43ef-b44e-34967083c80a
在 URLs?)
there is nothing bad in numbers like:b5607d38-8fc1-43ef-b44e-34967083c80a at URLs
这个;在 URL.
中包含 UUID 没有错
URI/URL 规则由 RFC 3986 定义。字母、数字和 -
都是“非保留”字符,这意味着它们可以在 URI 中的任何地方使用。
在 REST 中,标识符是不透明的。不希望客户端和通用组件从标识符本身提取任何语义信息。这使服务器可以自由地将其需要的任何信息编码到自己的标识符中。
/b5607d38-8fc1-43ef-b44e-34967083c80a
是资源的完美标识符。
有些文章声称在使用 JPA 时要避免等号(以及哈希码)问题,在使用生成的 Id 时需要使用 UUID,例如:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
由于 RESTful 服务和 Spring 数据(因此 @Entity -ies)紧密耦合,合理的问题是:
使用此类资源的最佳做法是什么 URL:RESTful 服务标准在 URL 中声明 {Id}-s
但 UUID 在 URL 中很难看到它秒。
那么解决它的最佳实践是什么?
(或者可能是我错了,像这样的数字没有什么不好的:b5607d38-8fc1-43ef-b44e-34967083c80a
在 URLs?)
there is nothing bad in numbers like:b5607d38-8fc1-43ef-b44e-34967083c80a at URLs
这个;在 URL.
中包含 UUID 没有错URI/URL 规则由 RFC 3986 定义。字母、数字和 -
都是“非保留”字符,这意味着它们可以在 URI 中的任何地方使用。
在 REST 中,标识符是不透明的。不希望客户端和通用组件从标识符本身提取任何语义信息。这使服务器可以自由地将其需要的任何信息编码到自己的标识符中。
/b5607d38-8fc1-43ef-b44e-34967083c80a
是资源的完美标识符。