J.J*_*eam 2 java rest jpa restful-url
一些文章声称在使用 JPA 时避免 equals(因此 hashcode )麻烦,在使用生成的 Id 时需要使用 UUID,例如:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID id;
Run Code Online (Sandbox Code Playgroud)
由于 RESTful 服务和 Spring Data(以及 @Entity -ies)紧密耦合,合理的问题是:使用此类资源 URL 的最佳实践是什么:RESTful 服务标准{Id}-s在 URL 中声明,但 UUID 很难在其中看到它网址。那么解决这个问题的最佳实践是什么?(或者可能是我错了,像:at URL 这样的数字并没有什么不好b5607d38-8fc1-43ef-b44e-34967083c80a?)
URL 中的数字没有什么不好,例如:b5607d38-8fc1-43ef-b44e-34967083c80a
这; 在 URL 中包含 UUID 没有任何问题。
URI/URL 规则由RFC 3986定义。字母、数字和-都是“非保留”字符,这意味着它们可以在 URI 中的任何地方使用。
在 REST 中,标识符是不透明的。客户端和通用组件不应从标识符本身提取任何语义信息。这使得服务器可以自由地将其需要的任何信息编码到自己的标识符中。
/b5607d38-8fc1-43ef-b44e-34967083c80a
Run Code Online (Sandbox Code Playgroud)
是资源的完美标识符。