我已经收到了这个非常奇怪的错误,我不确定该怎么做。
我目前有一个使用RESTful
端点的服务,并且具有应该为UUID
的标头。它与常规UUID以及明显的非UUID值(例如2bcd-d2efc
)配合使用都很好,但是在遇到诸如4c95b7e9-5051-4e5b-be30-eed67988
之类的UUID时,在接收到UUID时,它最后遗漏了4个十六进制值我的REST控制器,它的取值变成了4c95b7e9-5051-4e5b-be30-0000eed67988
之类的东西。
这使最初无效的UUID绕过了我们已进行的UUID类型转换验证。
关于为什么发生这种零填充的任何想法(我认为这与序列化有关)以及如何解决?如果有帮助,可以在Java 8中实现该控制器。
答案 0 :(得分:0)
如果查看UUID.fromString
,您会发现它没有规定最小长度。 UUID.fromString("0-0-0-0-0").toString()
将返回“ 00000000-0000-0000-0000-000000000000”。因此,就UUID
而言,您传入的内容等同于到达时的外观。